• ベストアンサー

フレームの同時変更

教えてください。 フレームをTOPとMAINに二つに分けて、TOPとMAINが同時に変更されるようにしたいのです。 (TOP内のメニューリンクをクリックした時に、TOPとMAINが変更されるようにしたい) どのようなスクリプトを書けばいいのでしょうか? 親フレームをクリックすると、他の子フレームが同時に変更されるスクリプトはよく載っていますが、親と子フレームが同時に変更されるのは探しても載っていませんでした。 よろしくお願いします。

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

  • ベストアンサー
  • basil
  • ベストアンサー率35% (148/420)
回答No.2

分かりにくいかもしれないので実際のサンプルをつくってみました。 【index.html】 <html> <frameset rows="*,*" border="2"> <frame src="top.html" name="topwin"> <frame src="main.html" name="mainwin"> </frameset> </html> 【top.html】 <html> <script language="javascript"> <!-- function ChangeBothWindow(){ parent.mainwin.location.href="NewMain.html"; parent.topwin.location.href="NewTop.html"; } //--> </script> <body> Top<br> <a href="JavaScript:ChangeBothWindow();">ChangeBothWindow</a> </body> </html> 【main.html】 <html> <body>main</body> </html> 【NewMain.html】 <html> <body>NewMain.html</body> </html> 【NewTop.html】 <html> <body>NewTop.html</body> </html>

ramirami
質問者

お礼

basilさん、こんにちは。 回答を参考にやってみたら、うまくいきました。 ありがとうございました。

その他の回答 (1)

  • basil
  • ベストアンサー率35% (148/420)
回答No.1

上のフレームのnameをtopWin、下のフレームのnameをmainWinとしたとします。 parent.mainWin.location.href="NewMail.html"; parent.topWin.location.href="NewTop.html"; とすればOKですよ。 ここで注意するのは、自分自身を書き換える前に他のウィンドーを書き換えてから、最後に自分自身を書き換えるようにします。そうしないと、すべての書き換えが済む前にこのスクリプト自体がキャンセルされてしまいます。

関連するQ&A