フレームのよくあるトラブル
フォーラムでよくある質問・トラブルについての問題点などを紹介します。
思い通りの場所にリンク先のページが表示されない!
フレームにはそれぞれ名前がついています。
そこで気をつけていただきたいのは、同じフレームの名前は絶対に使ってはいけないということです。
例えば、トップページはテンプレートの「ヘッダー」を使い、サブページとして「コンテンツ」を使ったフレームページを使った場合、
ヘッダー ★フレームの名前★ 上:header 下:main | + | コンテンツ ★フレームの名前★ 左:contents 右:main | → | 合成フレーム |
それぞれのフレームにmainという同じフレームが使われることになります。
そして、サブページの「コンテンツ」の左側のフレームにリンクを張って、そのリンクをクリックするとどうなるのでしょうか?
テンプレート「ヘッダー」の下全体のフレーム「main」と、テンプレート「コンテンツ」の右側のフレーム「main」が競合してしまい、
ブラウザは「mainというフレームの場所っていっても・・・2つあるけどどっち?」と困惑して、「ええい!」と親フレーム、すなわち「ヘッダー」テンプレートフレームの「main」が優先されてしまい、「コンテンツ」フレームは解除されてしまうのです。
この場合、どちらかユニークなフレームの名前にしなければいけないということです。
私の提案として、コンテンツテンプレートフレームの右側のフレームの名前を「right」にするといいと思います。
空で保存したらフレームが壊れちゃった・・・
FrontPageテンプレートを使わず、手動でHTMLを記述したHTMLファイルをFrontPageで編集後保存すると、フレームが壊れてしまうことがあります。
それは一体どうしてでしょうか?
<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が知らないだけです(^^;
<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さんはぶち切れ状態のようですね(笑)
問題は解決しましたか?
操作方法、設定方法等で困ったら、 Expression Web Users Forum に投稿してください!
2012年12月21日(日本時間)をもって、Expression Web 4はフリーソフトになりました。FrontPageユーザーの方もダウンロードして使ってみてください。 なお、Expression Web 4すでに購入された方も、問題が修正された無料版にアップグレードすることをお勧めします。