實現:關閉瀏覽器前,刷新瀏覽器前,切換瀏覽器tab,最小化瀏覽器等騷操作向後臺發送請求(vue項目)

實現:關閉瀏覽器前,刷新瀏覽器前,切換瀏覽器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標籤");
  }
});

 

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