• ベストアンサー

親ウィンドウの切り替え方法

はじめまして。JavaScript初心者です。 ウィンドウAにてウィンドウBを開き、ウィンドウBにてウィンドウCを開くアプリケーションがあります。 この場合に、ウィンドウBを閉じてもウィンドウCは開いたままで、ウィンドウAを閉じたタイミングでウィンドウCを閉じるようにしたいのですがうまく制御できません。 どのように作成すればよいか教えてください。 よろしくお願い致します。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

ウインドウBが閉じた段階で A・B・Cの親子関係が切れるので、 その前に、AからCを捕まえられるようにしておきます。 <script> <!-- //Aのスクリプト var CWIN=null;//Cのウィンドウ用の変数を準備する var BWIN=window.open("B.HTML","BWIN"); window.onunload=CloseAll;//ページを(移動)閉じようとしたら実行 function CloseAll(){ alert("終了します"); CWIN.close();//Cを閉じる window.close();//自分を閉じる } //--> </script> * <script> <!-- //Bのスクリプト var CWIN=window.open("C.HTML","CWIN"); var AWIN=window.opener; AWIN.CWIN=CWIN;//AのCWINにCのウィンドウを入れておく //--> </script>

a_kashi
質問者

お礼

ありがとうございます。無事解決しました! ウィンドウAのスクリプトにて ウィンドウCを明示的に閉じる必要があるのですね。 ウィンドウBのスクリプトにて ウィンドウCの親を切り替えているので 不要かと思い記述していなかったのが 正しく動作していなかった原因のようです。 本当にありがとうございました。

関連するQ&A