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