標籤:
今天在項目上有一個頁面要求在幾秒後自動關閉,想著還比較簡單,用window.close()就可以了,但是用IE/Google/Firefox瀏覽器試了一下,發現IE可以,Google用網上的相容方法也可以實現,但是Firefox這裡卡住了,不能關閉,網上看到的一種相容代碼:
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還是不行,又百度了幾篇文章,下面是我的總結:
一、這種方法簡單粗暴:改firefox的設定檔
步驟:
1、在地址欄輸入about:config然後斷行符號,警告確認
2、在過濾器中輸入”dom.allow_scripts_to_close_windows“,雙擊即可將此值設為true
即可完成了。
註:這種方法雖然可以很快解決問題,但是實際項目中,我們不可能去要求每個客戶去更改自己瀏覽器的設定檔
二、利用js中的window.open()
因為發現Firefox瀏覽器必須是js開啟的頁面,才能用window.close()關閉,這樣的話,就用window.open("這個頁面地址")跳轉到這個頁面,實驗可行
三、利用a標籤
利用a標籤連結跳轉到這個頁面,不過需要用target="_blank"屬性重新開啟頁面才可以,實驗可行
這是三種解決方案,不過還沒有找到Firefox瀏覽器在本頁面實驗關閉頁面的方法,還有待研究,希望有大神知道的可以告知
Firefox瀏覽器如何js關閉視窗的幾種解決方案