Webシステムにこれまで設置してなかった「閉じる」というボタンを設置することになった際、少々ブラウザの問題でつまずいた点があったので備忘録としてまとめておきます。
JavaScriptのwindow.close()について、いろいろとテストをしてみましたがやはりGoogleChrome(グーグルクローム)でjavascriptのwindow.close()の命令が効かないようです。
【環境】
Windows10 64bit
GoogleChromeのバージョンは69.0.3497.100
目次
対応策
簡潔に書くとクロームの場合、ウィンドウを閉じるためにwindow.close() ではなく window.open(‘about:blank’,’_self’).close()を使います。
IE、Edge、Chromeと検証しましたが以下のようになりました。
Chrome だけwindow.close()のみで閉じることが出来ませんでした。
IE11 | Edge | chrome69 | |
window.close()のみ | 〇 | 〇 | × |
window.open(‘about:blank’,’_self’).close() | 〇 | 〇 | 〇 |
IEやEdgeでは以下のようなポップアップウインドウが出ます。
やはり今回のWEBシステムは大人しくIEかEdgeを使っておけば良かったのかなと。
閉じるときのポップアップも出るので間違って閉じてしまうのも防止できるし…
とりあえずJavaScriptでWindowsが閉じれない場合window.open(‘about:blank’,’_self’).close()を使って回避しましょう。