巨坑!监听浏览器窗口关闭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里就行了

 

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