【javascript】之close.window


今天碰到一個客戶要求點擊按鈕能夠關閉窗口,最簡單的當然是

<script type="text/javascript">
    window.close();
</script>

但是這句代碼有兩個問題,第一是有提示窗口,需要你確認才能關閉;第二是這句代碼不能在FF和Chrome下生效。一個一個來,顯示提示問題

<script type="text/javascript">
    function iClose(){
    window.open('','_self');
    window.opener=null;
    window.close(); 
    }
</script>

最后是第二個問題,FF和Chrome,在Google下查了一圈,看了差不多10頁的內容,最終得出一個悲傷的結論,FF只支持關閉javascript腳本打開的頁面,不允許關閉非腳本打開的窗口。當然,可以用about:config,打開配置文件,找到dom.allow_scripts_to_close_windows,把這個設置成true的時候,FF就支持window.close()了,但是我們不是黑客,怎么可能去強迫用戶去改變這個設置,更何況這個設置是出於安全的考慮,防止惡意腳本關閉window。呼呼,這個問題留待大神解決。至於Chrome的話,代碼如下

<script type="text/javascript">
    function iClose(){
        var browserName=navigator.appName;
        if (browserName=="Netscape"){
                window.opener = window;
            var win = window.open("","_self");
            win.close();
            //frame的時候
            top.close();
        }
        if (browserName=="Microsoft Internet Explorer") { 
            window.parent.open('','_self');
            window.parent.opener=null;
                window.parent.close(); 
        }
    }
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM