大家都知道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>