window.open("sample.htm","sample_win","") として開いたウィンドウを別のウィンドウから閉じるにはどのような方法がありますか?
つまり、win1=window.open("sample.htm","sample_win","") のようにしないで開いたウィンドウを閉じる方法を教えてください。

A 回答 (1件)

どちらにしろ、ウィンドウオブジェクトを指定して行うことになりますが、


手順としては、

1)親ウィンドウにサブウィンドウのオブジェクトを入れる変数を用意
2)サブウィンドウが開いたときに window.self を 親ウィンドウの用意した
変数に代入
3)親ウィンドウで、オブジェクトのメソッドを指定して、閉じる。

ちょっと変則的ですが、こんな感じではどうですか?

以下がサンプルです。

親ウィンドウ
----------------------------------------------------------------
<SCRIPT LANGUAGE="JavaScript">
<!--
var subwin;

function open_win(){
open("sample.html","sample_win","");
}

function close_sub(){
subwin.close();
}

// -->
</SCRIPT>
<FORM>
<INPUT TYPE="button" VALUE="Open" onClick="open_win()">
<INPUT TYPE="button" VALUE="Close" onClick="close_sub()">
</FORM>

サブウィンドウ
----------------------------------------------------------------
<SCRIPT LANGUAGE="JavaScript">
<!--

function obj_trns(){
window.opener.subwin = window.self;
}

// -->
</SCRIPT>
<BODY onLoad="obj_trns()">
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
なるほど。そういう手もあったかー。「こんなことってできるのかな?」って思って質問したのですが、いつもとは違った視点からのスクリプトでうれしいです。
参考になりました!

お礼日時:2001/07/14 17:46

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


人気Q&Aランキング