- ベストアンサー
フレームの同時変更
教えてください。 フレームをTOPとMAINに二つに分けて、TOPとMAINが同時に変更されるようにしたいのです。 (TOP内のメニューリンクをクリックした時に、TOPとMAINが変更されるようにしたい) どのようなスクリプトを書けばいいのでしょうか? 親フレームをクリックすると、他の子フレームが同時に変更されるスクリプトはよく載っていますが、親と子フレームが同時に変更されるのは探しても載っていませんでした。 よろしくお願いします。
- みんなの回答 (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>
その他の回答 (1)
- basil
- ベストアンサー率35% (148/420)
上のフレームのnameをtopWin、下のフレームのnameをmainWinとしたとします。 parent.mainWin.location.href="NewMail.html"; parent.topWin.location.href="NewTop.html"; とすればOKですよ。 ここで注意するのは、自分自身を書き換える前に他のウィンドーを書き換えてから、最後に自分自身を書き換えるようにします。そうしないと、すべての書き換えが済む前にこのスクリプト自体がキャンセルされてしまいます。
お礼
basilさん、こんにちは。 回答を参考にやってみたら、うまくいきました。 ありがとうございました。