www.wanichan.com

Web > FrontPage > FrontPage 2000 > フレーム・DHTML

フレームのよくあるトラブル

フォーラムでよくある質問・トラブルについての問題点などを紹介します。

思い通りの場所にリンク先のページが表示されない!

フレームにはそれぞれ名前がついています。
そこで気をつけていただきたいのは、同じフレームの名前は絶対に使ってはいけないということです。

例えば、トップページはテンプレートの「ヘッダー」を使い、サブページとして「コンテンツ」を使ったフレームページを使った場合、

ヘッダー

★フレームの名前★
上:header 下:main
+コンテンツ

★フレームの名前★
左:contents 右:main
合成フレーム
合成後のフレーム

それぞれのフレームにmainという同じフレームが使われることになります。
そして、サブページの「コンテンツ」の左側のフレームにリンクを張って、そのリンクをクリックするとどうなるのでしょうか?

テンプレート「ヘッダー」の下全体のフレーム「main」と、テンプレート「コンテンツ」の右側のフレーム「main」が競合してしまい、
ブラウザは「mainというフレームの場所っていっても・・・2つあるけどどっち?」と困惑して、「ええい!」と親フレーム、すなわち「ヘッダー」テンプレートフレームの「main」が優先されてしまい、「コンテンツ」フレームは解除されてしまうのです。

この場合、どちらかユニークなフレームの名前にしなければいけないということです。
私の提案として、コンテンツテンプレートフレームの右側のフレームの名前を「right」にするといいと思います。

▲Page TOP

空で保存したらフレームが壊れちゃった・・・

FrontPageテンプレートを使わず、手動でHTMLを記述したHTMLファイルをFrontPageで編集後保存すると、フレームが壊れてしまうことがあります。

それは一体どうしてでしょうか?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>もとのファイル</title>
</head>

<frameset rows="210,*" cols="*" framespacing="0" frameborder="NO" border="0">
<frame src="kisyou_map.htm" name="top" scrolling="NO" noresize marginwidth="0" marginheight="0" id="top" >
<frame src="kisyou.htm" name="main" marginwidth="0" marginheight="0" id="main">
</frameset>

<noframes><body>
</body></noframes>

</html>

手動でHTMLを記述する際に、記述に何らかのミスやFrontPageが理解できない記述があると、FrontPageはちゃんと解釈してくれず、
記述が変わってしまうのです。
フレームの枠線を消す際の記述として、FrontPageでは frameborder="0" しか知らないので、
frameborder="NO"の記述があると、「何これ? わかんなーい」と気が狂ってしまうわけです(笑)
これは仕様です。しょうがないです。
※フレームの枠線を消す記述の frameborder="NO" は間違った記述ではありません。ただFrontPageが知らないだけです(^^;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>FrontPage2000でセーブしたあとのファイル</title>
</head>

<frameset rows="210,*" framespacing="0" frameborder="0" border="0">

<frameset cols="*" framespacing="0" frameborder="0" border="0">
<frame src="kisyou_map.htm" name="top" scrolling="NO" noresize marginwidth="0" marginheight="0" id="top" >
</frameset>

<frameset cols="*" framespacing="0" frameborder="0" border="0">
<frame src="kisyou.htm" name="main" marginwidth="0" marginheight="0" id="main">
<noframes>
<body>

</body>
</noframes>
</frameset>
</frameset>
<frameset>
<noframes><body>

</body></noframes>
</frameset>
</html>

このように、もうぐちゃぐちゃになってしまうんです。・・・FrontPageさんはぶち切れ状態のようですね(笑)

▲Page TOP

スポンサーリンク
INDEX
  • このエントリーをはてなブックマークに追加

問題は解決しましたか?

操作方法、設定方法等で困ったら、Google+コミュニティ Expression Web Users Group Japan に投稿してください!

2012年12月21日(日本時間)をもって、Expression Web 4はフリーソフトになりました。FrontPageユーザーの方もダウンロードして使ってみてください。 なお、Expression Web 4すでに購入された方も、問題が修正された無料版にアップグレードすることをお勧めします。

* Expression Web 4 無料版をダウンロード

▲このページのトップへ