怎樣用javascript關(guān)閉本窗口

字號(hào):


    大家都知道window.close()是用來關(guān)閉窗口的,而且ie和firefox都是支持的。
    為了實(shí)現(xiàn)用戶對瀏覽器的絕對控制,ie中用close關(guān)閉非open打開的窗口時(shí)回彈出一個(gè)對話框詢問用戶,怎么去掉這個(gè)框呢,請看下面的代碼。
    function winClose(){ window.top.opener = null; window.close(); }
    在window.close之前加上window.top.opener = null就可以了。
    有人說firefox不支持close,其實(shí)這是錯(cuò)誤的,之所以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)行這個(gè)就能在ff下關(guān)閉了。
    看到這些,如果讓客戶去設(shè)置的話,等于沒有做這個(gè)功能,所以說結(jié)果不是很滿意,不知道有沒有其他好的替代方法。
    后記:利用打開一個(gè)新窗口,然后關(guān)閉這個(gè)頁面就可以實(shí)現(xiàn)關(guān)閉當(dāng)前頁面。謝謝strangebank。不過奇怪的是昨天我用ff2試驗(yàn)的時(shí)候沒有成功,今天用3成功的。真是活見鬼了,今天在同事機(jī)子上用2做試驗(yàn),又可以了。不過一早解決問題還是不錯(cuò)的哦。^_^
    index.html
    <a href="c.html" target="_blank">ddddddddd</a>
    c.html
    <a href="javascript:window.open('','_parent','');window.close();">Close Window</a>