data(){
return{
_beforeUnload_time:'',
_gap_time:''
}
},
mounted(){
//页面监听页面刷新和关闭
window.addEventListener('beforeunload', e => this.beforeunloadFn(e))
window.addEventListener('unload', e => this.unloadHandler(e))
},
destroyed(){
//页面销毁前关闭监听
window.removeEventListener('beforeunload', e => this.beforeunloadFn(e))
window.removeEventListener('unload', e => this.unloadHandler(e))
},
methods:{
beforeunloadFn(e) {
this._beforeUnload_time = new Date().getTime();
},
async unloadHandler(e){
this._gap_time=new Date().getTime()-this._beforeUnload_time;
//判断是窗口关闭还是刷新
if(this._gap_time<=5){//浏览器关闭
//自己的操作行为
console.log('关闭浏览器')
}else{
console.log('刷新浏览器')
}
},
}
vue中区分刷新与关闭浏览器
最新推荐文章于 2024-07-16 10:40:17 发布