實現:關閉瀏覽器前,刷新瀏覽器前,切換瀏覽器tab,最小化瀏覽器等騷操作向後臺發送請求(vue項目)
對於以上用戶騷操作,向後臺發送最後的指令,這裏只做簡單的記錄
關閉瀏覽器和刷新瀏覽器在vue的生命鉤子create函數中實現:通過window.onbeforeunload事件實現,這裏要特別注意的是,接口請求必須是同步的
created() {
window.onbeforeunload = function() {
// 同步的接口請求
}
}
export function totalTime (param) {
return new Promise((resolve,reject)=>{
$.ajax({
contentType: 'application/json;charset=UTF-8',
type: 'post',
url: '',
data:,
asunc: false,
dataType: 'json',
success: function(res) {
resolve(res)
}
error: function(res) {
resject(res)
}
})
})
}
tab切換的實現:;有一個問題:不能把這個全局事件移除
document.addEventListener('visibilitychange',function(){ //瀏覽器切換事件
if(document.visibilityState=='hidden') { //離開當前tab標籤
console.log("離開當前tab標籤");
}else {/////回到當前tab標籤
console.log("回到當前tab標籤");
}
});