JS無提示關閉瀏覽器視窗指令碼以及不同瀏覽器對window.close()不同表現
阿新 • • 發佈:2019-01-01
[javascript] view plain copy 無提示關閉瀏覽器視窗JS指令碼程式碼如下: [javascript] view plain copy function closewin(){ var browserName=navigator.appName; if (browserName=="Netscape") { var opened=window.open('about:blank','_self'); opened.opener=null; opened.close(); } else if(browserName=="Microsoft Internet Explorer") { window.opener=null; window.open('','_self'); window.close(); } } 目前對firefox、IE9、google chrome三個瀏覽器進行了測試。 參考網上文章:window.close(); 關閉瀏覽器視窗js程式碼的分析總結 序號 關閉程式碼 需要確認 無任何作用 無需確認 1 window.close() IE7 firefox,chrome, safari Opera 2 window.opener=null; window.open('','_self'); window.close(); firefox IE7,Opera, chrome,safari 3 window.open('','_self'); window.close(); firefox IE7,Opera, chrome,safari 4 window.opener=null; window.close(); IE7 firefox,safari chrome,Opera 5 var opened=window.open('about:blank','_self'); opened.opener=null; opened.close(); firefox safari,IE7, chrome,Opera 6 var opened=window.open('about:blank','_self'); opened.close(); safari,firefox firefox,IE7, chrome,Opera 用多種方式開啟一個頁面,然後用 window.close() 關閉它,在各瀏覽器下表現有所不同。如在位址列中直接輸入URL 時,Firefox Chrome Safari 下呼叫 window.close() 關閉頁面無效。再如 Ctrl + 點選連結開啟的視窗,Firefox 下無法通過呼叫 window.close() 來關閉。 其差異如下表格: 位址列輸入URL 點選連結 Ctrl鍵+點選連結 window.open window.showModalDialog IE6 提示視窗關閉 直接關閉 直接關閉 直接關閉 直接關閉 IE7/8 直接關閉 提示視窗關閉 提示視窗關閉 直接關閉 直接關閉 Firefox 不關閉,無提示 直接關閉 不關閉,無提示 直接關閉 直接關閉 Safari 不關閉,無提示 直接關閉 直接關閉 直接關閉 直接關閉 Chrome 不關閉,無提示 直接關閉 直接關閉 直接關閉 直接關閉 Opera 直接關閉 直接關閉 直接關閉 直接關閉 不支援 firefox下無法關閉可能原因: 不是JS程式碼window.close()的問題,而是Firefox的配置問題,解決方法如下: 在Firefox位址列裡輸入 about:config 在配置列表中找到 dom.allow_scripts_to_close_windows 點右鍵的選切換把上面的false修改為true即可。 注:預設是false,是為了防止指令碼亂關視窗 另附程式碼: window.opener = null;//為了不出現提示框 window.close();//關閉視窗