ガレコレ
Garage Collection
 
2015年1月31日(土)
ウインドウを閉じる #■パソコン・通信

 JavaScriptで、ブラウザのウインドウを閉じるには、下記のように記述する。

window.close();

 一番単純な記述であり、パソコンのブラウザで閉じられるのはIEぐらいなものである。セキュリティ上、親ウインドウを閉じない仕様になっているのだ。

window.open("","_self").close();
 または
window.open("about:blank","_self").close();

 自分(今のウインドウ)に対して、白紙(空白のページ)を開いてから閉じるといった記述である。親ウインドウは閉じられないが、親ウインドウから開かれた子ウインドウは閉じられることを利用している裏技である。ブラウザによっては白紙が残るので、気持ちが良くないが、一般的によく利用されている。

$thisWin = window.open("","_top");
$thisWin.opener = window;
$thisWin.close();

 上記は、ガレコレが昔から使っているものである。先のものと同様、ブラウザを騙す裏技なのだが、白紙が残らない。

 ところが、Google Chromeでは、いずれの方法でもウインドウが閉じない。正しいセキュリティのあり方である。たしかに、裏技でウインドウが閉じられたら、意味ないわなあ。本文中で、[閉じる]ボタンは使わないのが本流と言うことか。今後、JavaScriptで、ウインドウを閉じるのはやめよう。
http://neconote.jp/test/close.html
 
お問い合わせ
by Network Communication Note