巨坑!監聽瀏覽器窗口關閉onbeforeunload不起作用(脫坑了啊!!)

因業務需要,特寫方法監聽瀏覽器關閉,然後去do something

先聲明我沒在忽悠,看完能實現這個需求的!!

網上大部分推薦方法如下:

window.onbeforeunload= function (e) {				
	 e = e || window.event;			 
	 if (e) {
	 e.returnValue = '關閉提示';
     }
			  
	 // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
	 return '關閉提示';
};

是不是各位測試感覺都沒有效果???

來講幾個點:

1、在IE中這個事件你只要去關閉窗口就觸發。

2、谷歌、火狐等在F12調試模式中也會起效

3、谷歌、火狐、QQ等瀏覽器中被優化了,需要用戶在頁面有過任何操作纔會出現提示!()。

不相信的運行下面代碼

	window.onbeforeunload= function (e) {
		 while(true){
		  console.log('關注Jone,攜手學習Python從入門到入獄');		
            }
			
	};

別生氣,你的需求實現了啊!

注意:alert寫在裏面是不起效的!!

總結:你去寫你的事件寫到return之前,什麼http啊什麼console.log都沒問題,最好直接在裏面調用方法去寫業務,不要寫一大坨代碼在這裏

附我的代碼

//Vue中寫在mounted裏
    mounted() {
        window.onbeforeunload= (e)=>{
			 e = e || window.event;			 
			 if (e) {
			 e.returnValue = '關閉提示';
			 }

			 this.toCloseFun()//調用自己的方法

			 // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
			 return '關閉提示';
			};
	},


//普通js直接寫ready裏就行了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章