実装:ブラウザを閉じる前に、ブラウザをリフレッシュする前に、ブラウザtabを切り替え、ブラウザなどの騒ぎを最小化してバックグラウンドに要求(vueプロジェクト)を送信する

1155 ワード

実装:ブラウザを閉じる前に、ブラウザをリフレッシュする前に、ブラウザ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  ");
  }
});