2008.05.30

IE7でWindowをCloseする際に、警告を出さないために

IE7では、子画面をポップアップなどで開き、親画面を「window.opener=true;window.close();」
で閉じようとした際、以下の確認ダイアログが表示される。

「ウィンドウは、表示中のWebページにより閉じられようとしています。
このウィンドウを閉じますか?」

上記確認メッセージを出さない方法として、
画面を閉じる場合、「window.opener=true;window.close();」ではなく、以下の
ソースを書く。

「(window.open('', '_self').opener = window).close();」

Window.openの第2引数は存在するのならば「'_top'」でも「'_parent'」でもよい。

IE6とIE7で動作することは確認した。

ただ、「Window.open」で開いた画面に関しては上記確認メッセージは表示しないので、
ログイン画面からポップアップでメニューなどを表示する際のみ上記のJavaScriptを
走らせるのがいいでしょう、

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
jin