大家都知道window.close()是用來關閉窗口的,而且ie和firefox都是支持的。
為了實現用戶對浏覽器的絕對控制,ie中用close關閉非open打開的窗口時回彈出一個對話框詢問用戶,怎麼去掉這個框呢,請看下面的代碼。
function winClose(){ window.top.opener = null; window.close(); }
在window.close之前加上window.top.opener = null就可以了。
有人說firefox不支持close,其實這是錯誤的,之所以window.close在firefox不能使用,是因為firefox默認不能關閉用戶打開的網頁,可以這樣設置firefox。
打開firefox,在地址欄輸入about:config
找到dom.allow_scripts_to_close_windows這項並改為true。
需要說的是在firefox中沒有彈出對話框的麻煩。
<script> function a(){ window.open('','_parent',''); window.opener = window; window.close(); } </script>
再運行這個就能在ff下關閉了。
看到這些,如果讓客戶去設置的話,等於沒有做這個功能,所以說結果不是很滿意,不知道有沒有其他好的替代方法。
後記:利用打開一個新窗口,然後關閉這個頁面就可以實現關閉當前頁面。謝謝strangebank。不過奇怪的是昨天我用ff2試驗的時候沒有成功,今天用3成功的。真是活見鬼了,今天在同事機子上用2做試驗,又可以了。不過一早解決問題還是不錯的哦。^_^
index.html
<a href="c.html" target="_blank">ddddddddd</a>
c.html
<a href="javascript:window.open('','_parent','');window.close();">Close Window</a>