火狐瀏覽器如何js關閉窗口的幾種解決方法
阿新 • • 發佈:2017-05-09
div dom style itl 希望 mic rdquo nav 瀏覽器
今天在項目上有一個頁面要求在幾秒後自動關閉,想著還比較簡單,用window.close()就可以了,但是用IE/谷歌/火狐瀏覽器試了一下,發現IE可以,谷歌用網上的兼容方法也可以實現,但是火狐這裏卡住了,不能關閉,網上看到的一種兼容代碼:
![技術分享](/img/fz.gif)
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();
}
}
}
![技術分享](/img/fz.gif)
試了一下,發現火狐還是不行,又百度了幾篇帖子,下面是我的總結:
一、這種方法簡單粗暴:改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關閉窗口的幾種解決方法