今天遇到一個問題就是在js中使用window.close()方法無法關閉Firefox:
瀏覽器版本:
firefox
IE
一句簡單的代碼可實現瀏覽器的關閉
1 <p onclick="javascript:window.close()">關閉</p>
但測試發現:
IE能正常彈出窗口詢問是否關閉窗口
而Firefox點擊之后則無任何反應
難道Firefox不支持close()關閉? 我們在來測試一下使用close能不能關閉open()打開的窗口呢?
1 /*index.html*/ 2 <script type="text/javascript"> 3 function op() 4 { 5 window.open("test.html", "", "height=100,width=100"); 6 } 7 </script> 8 <p onclick="op()">打開</p> 9 10 /*test.html*/ 11 <p onclick="javascript:window.close()">關閉</p>
測試結果:
Firefox可以關閉open()打開的窗口,但是無任何提示;IE也能正常關閉,也沒有任何提示。
結論:在firefox里用window的close方法時要注意他和IE不同的地方:在父窗口打開的頁面是不能用close的
在通過搜索引擎找找有沒有解決辦法:
通過地址欄輸入about:config進入配置頁面搜索dom找到dom.allow_scripts_to_close_windows設置為true再測試及可關閉
但這樣做感覺並不滿意,就像上面說的,難道要求客戶也去設置瀏覽器啊....
有什么好的解決辦法,希望在下面留言...