• ベストアンサー

frameを使用したときのファイルの切り替え

 今、フレームを使用してHPを制作していますが、タグ例として、 <frameset rows="60,*" frameborder="no" border="0"> <frame src="header.html" scrolling="no" noresize> <frameset cols="200,*" frameborder="no" border="0"> <frame src="menu.html" name="menu" noresize> <frame src="top.html" name="top" noresize> </frameset> </frameset> と組み、上記の「menu.html」中に各コンテンツを羅列し、任意のコンテンツをクリックすると「top.html」は変わるという作りをしています。  これを、「menu.html」中の任意のコンテンツをクリックすると「menu.html」「top.html」の両方が変わるようにしたいのですが、いい方法がありましたらどなたか教えていただけないでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#9692
noname#9692
回答No.2

こんにちは menu.html内での任意のコンテンツをクリックしたときに、top.htmlに表示されるファイルを指定するのではなく、「左フレームに○○.html、右フレームに△△.htmlを表示する」という命令を書き込んだ<frameset>ファイルをリンク先に指定してみればうまくいきます。 過去に回答した参考URLの質問と同じようなケースだと思うのですがあてはまりますでしょうか。 ukkey119さんの場合は画面が3フレームに分かれていると思いますが、紹介の質問ではフレームは2つです。 でもヘッダのフレームには変化がないので同じことだと思いますので一度試してみてください。

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=508355
ukkey119
質問者

お礼

 回答いただきありがとうございます。  ページごとをジャンプさせるのではなく、フレームごとジャンプさせるのですね。 上記の通りにやってみたらうまくいきました。ありがとうございます。

その他の回答 (2)

noname#199778
noname#199778
回答No.3

通常は、HTMLだけでは無理だと思います。 JavaScriptを使う必要があるでしょう。 HTMLだけで済ますのであれば、指定のページを初期状態で読み出す、フレームをセットするHTMLファイルを別に用意して、そのファイルを呼び出すという方法も取れると思いますが、手間がかかる上にファイル管理も大変になると思います。 JavaScriptを使う方法ですが、menuフレーム側にあるページのhead内に、 <script type="text/javascript"><!-- function dbljump(i,j){ parent.top.location.href=i; //topフレームのページ変更 location.href=j; //menuフレーム自体のページ変更(parent.menu.location.href=jでも可) } //--></script> 上記のソース、もしくは、 <script type="text/javascript"><!-- function dbljump(i,j){ window.open(i,"top"); //topフレーム内のページ変更 window.open(j,"_self"); //menuフレーム内のページ変更 } //--></script> こちらのソースを記述して、body内のリンクの方は <a href="#" onClick="dbljump('topフレームに表示させるファイル名','menuフレームに表示させるファイル名'); return false;">リンク</a> もしくは <a href="javascript: dbljump('topフレームに表示させるファイル名','menuフレームに表示させるファイル名');">リンク</a> このような感じで記述してみてください。 JavaScriptが無効な環境では動作しませんが、JavaScriptが有効であれば、希望通りの動作が実現できると思います。 参考になれば幸いです。

ukkey119
質問者

お礼

 回答いただきありがとうございます。  Javascriptの方法をためしたのですが、クリックすると「parent.top.location.href=i」のiのぺージしか反映されず、うまく出来ませんでした。  せっかく回答いただいたのですが、すみませんでした。

  • junijuni
  • ベストアンサー率25% (12/48)
回答No.1

参照先のものが参考になると思います。

参考URL:
http://www.openspc2.org/JavaScript/lib_/frame/fmmain.htm
ukkey119
質問者

お礼

 回答いただきありがとうございます。  質問の仕方が悪かったみたいですが、私の希望していたのは、クリックすると、自ファイルを含めた複数のファイルが一度にジャンプする方法を知りたかったのです。 せっかく回答いただいたのですが、すみません。

関連するQ&A

専門家に質問してみよう