https://www.jianshu.com/p/ed6010ab868e
用vue做的項目,有個需求就是關閉瀏覽器的時候,需要往后台提交有個接口,來監聽這個賬號有沒有下線。
網上找了很多種方法,一直沒有實現。
主要困惑點:
1、瀏覽器關閉是事件,是什么
onbeforeunload、onunload 又是各種百度,
window.addEventListener( ‘beforeunload’,e =>(
執行…
) )
mounted () {
window.addEventListener('beforeunload', e => {
window.localStorage.removeItem('titleName')
});
},
mounted () {
window.addEventListener( 'beforeunload', e => this.set() );
},
methods:{
set(){
console.log('我是要調用的函數')
}
}
把請求接口放到 set中,關閉瀏覽器的時候是可以請求接口了,但是,刷新時候也請求,不符合要求。。。。然后又是各種百度
2、怎么區分瀏覽器刷新與關閉(網上找的方法,不知道出處是哪里,)
var _beforeUnload_time = 0,_gap_time=0;
window.onunload=function(){
_gap_time=new Date().getTime()-_beforeUnload_time;
if(_gap_time<=5){
//瀏覽器關閉
$.ajax({
url:'/movecheck/logout',
// dataType:"JSON",
cache:false,
type:'post',
async:false,
success:function(dt){
// console.log(dt)
},
error:function(dt){
}
})
}
}
window.onbeforeunload=function(){
_beforeUnload_time=new Date().getTime();
}
});