電子書籍の厳選無料作品が豊富!

はじめまして。JavaScript初心者です。

ウィンドウAにてウィンドウBを開き、ウィンドウBにてウィンドウCを開くアプリケーションがあります。
この場合に、ウィンドウBを閉じてもウィンドウCは開いたままで、ウィンドウAを閉じたタイミングでウィンドウCを閉じるようにしたいのですがうまく制御できません。

どのように作成すればよいか教えてください。
よろしくお願い致します。

A 回答 (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>
    • good
    • 0
この回答へのお礼

ありがとうございます。無事解決しました!

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

本当にありがとうございました。

お礼日時:2005/10/20 23:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!