平時在做項目的時候會碰到在頁面點擊文字直接退出瀏覽器窗口的效果!但是瀏覽器在實現關閉效果是不一致的!
下面的demo介紹的這個demo可以正常關閉ie,chrome等主流瀏覽器!但是火狐的實現是通過打開一個空頁面來實現的!如果要實現和ie一樣關閉的效果,需要開啟相應的權限!
按照如下所示操作:
打開firefox,在地址欄輸入about:config
找到dom.allow_scripts_to_close_windows這項並改為true。
但是做出來的頁面是給用戶體驗的,這種需要用戶更改設置的方式往往是不可取的!所以這里我就通過打開空頁面來代替!
demo如下:
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"/> <title>window_close</title> </head> <body> <a href="javascript:;" onclick="CloseWebPage()">關閉窗口</a> </body> </html> <script type="text/javascript"> function CloseWebPage() {
//判斷是否為ie if (navigator.userAgent.indexOf("MSIE") > 0) {
//判斷是否為ie6 if (navigator.userAgent.indexOf("MSIE 6.0") > 0) { window.opener = null; window.close(); } else { window.open('', '_top'); window.top.close(); } }
//判斷是否為firefox else if (navigator.userAgent.indexOf("Firefox") > 0) { window.location.href = 'about:blank '; }
//其他非firefox等主流瀏覽器如chrome,safari else { window.opener = null; window.open('', '_self', ''); window.close(); } } </script>
上面的demo基本可以解決關閉瀏覽器的當前窗口的功能,至於火狐的實現還是比較遺憾!