サブウィンドウが開かれているか調べる


動作ブラウザ 【 IE:4.0  NN:3.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × - × -
Macintosh × - × - -
UNIX - - - - - × - - -
Dreamcast - - - - - - - - - - × × -

ポイント subWin = window.open("sub.html","sub","width=320,height=240"); if (subWin.closed) alert("閉じられてます"); else alert("開かれてます");
説  明 サブウィンドウが開かれているかどうかは、「サブウィンドウ名.closed」で調べることができます。戻り値がtrueであれば閉じられており、falseであれば開かれています。
サンプル <html> <head> <title>サブウィンドウが開かれているか調べる</title> <script Language="JavaScript"><!-- subWin = window.open("sub.html","sub","width=320,height=240"); function check() { if (subWin.closed) alert("閉じられてます"); else alert("開かれてます"); } // --></script> </head> <body> <a href="javaScript:check()">Check!</a> </body> </html>
補足説明 Win版のIE5ではopenerのバグにより正常に動作しない場合があります。Win版IE以外でもWin,Mac版IEではサブウィンドウまわりのバグにより正常に動作しない場合があります。回避方法は以下のURLを参照してください。 http://game.gr.jp/js-ml/samples/200102/openerTest.html

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA