[Javascript]ウィンドウを閉じるwindow.close()が効かない

Read More

開いたウィンドウを閉じるjavascriptのwindow.close()はブラウザによって効いたり効かなったりする。
だから使えない…と思っていた。そうちょっと前までは


最近のブラウザだと以下のように書けば問題なく動くことがわかった。


■開いたウィンドウを閉じるスクリプト
<a href="javascript:window.open('about:blank','_self').close();">close</a>


試した環境は以下の通り。
・Firefox ESR 38.3.0
・GoogleChrome 46.0.2490.80 m
・InternetExplore 11.0.9
・InternetExplore 9
・InternetExplore 7
・Safari 5.1.7


■デモページ
http://xirasaya.com/demo/13


この方法ならば特に警告もでることなく開いたウィンドウを期待通り閉じることができた。
一応IE6でも動いたがこちらでは「閉じますか」的な警告が出た。が、IE6だしな。どうでもいいな。


注意したいのは、ウィンドウを閉じる動作をさせるには_blankで開いたウィンドウに限るという点。
通常リンクで開いたページは閉じない(※1)
というかそんな仕様にすること自体がありえないので特に注意するまでもない。





※1
もう少し丁寧にいうと、_blankを使わず開いたウィンドウを閉じようとするとブラウザによって挙動が異なる。閉じたり閉じなかったり固まったりする。そんな使い方をするべきではない。






Category "HTML・JS・CSS" の最新記事