2010년 1월 7일 목요일

FireFoxでのWindow.close

FireFoxでのwindow.close

以前から、対処しなければと思いながらやっていなかった問題。

FireFoxでJavascriptのwindow.close()が機能しないことですが、@ITの掲示板で紹介されてしました。

結論としてIE,FireFox両対応の場合は以下の感じ

<script type="text/javascript">
function clsWin(){
    window.opener = window;
    var win = window.open(location.href,"_self");
    win.close();
}
</script>

<body>
    <a href="javascript:" onClick="clsWin()">ウインドウ閉じる</a>
</body>

らしいです。window.closeはJavascriptで開かれたウインドウのみ閉じることができるそうです。そこでwindow.openerオブジェクト、つまりJavaScript でオープンされたウィンドウに渡される、親ウィンドウオブジェクトにwindowを格納することで誤魔化している?そうです。

なるほど。こういう手があったのですね。勉強になりました。

댓글 없음:

댓글 쓰기