1. 程式人生 > >火狐瀏覽器如何js關閉窗口的幾種解決方法

火狐瀏覽器如何js關閉窗口的幾種解決方法

div dom style itl 希望 mic rdquo nav 瀏覽器

今天在項目上有一個頁面要求在幾秒後自動關閉,想著還比較簡單,用window.close()就可以了,但是用IE/谷歌/火狐瀏覽器試了一下,發現IE可以,谷歌用網上的兼容方法也可以實現,但是火狐這裏卡住了,不能關閉,網上看到的一種兼容代碼:

技術分享
function windowclose() {
    var browserName = navigator.appName;
    if (browserName=="Netscape") {
        window.open(‘‘, _self‘, ‘‘);
        window.close();
    }
    else {
        if (browserName == "Microsoft Internet Explorer"){
            window.opener = "whocares";
            window.opener = null;
            window.open(‘‘, _top);
            window.close();
        }
    }
}
技術分享

試了一下,發現火狐還是不行,又百度了幾篇帖子,下面是我的總結:

一、這種方法簡單粗暴:改firefox的配置文件

  步驟:
1、在地址欄輸入about:config然後回車,警告確認
2、在過濾器中輸入”dom.allow_scripts_to_close_windows“,雙擊即可將此值設為true
即可完成了。

註:這種方法雖然可以很快解決問題,但是實際項目中,我們不可能去要求每個客戶去更改自己瀏覽器的配置文件

二、利用js中的window.open()

  因為發現火狐瀏覽器必須是js打開的頁面,才能用window.close()關閉,這樣的話,就用window.open("這個頁面地址")跳轉到這個頁面,試驗可行

三、利用a標簽

  利用a標簽鏈接跳轉到這個頁面,不過需要用target="_blank"屬性重新打開頁面才可以,試驗可行

這是三種解決方法,不過還沒有找到火狐瀏覽器在本頁面試驗關閉頁面的方法,還有待研究,希望有大神知道的可以告知

火狐瀏覽器如何js關閉窗口的幾種解決方法