公司做mifi設備,ui界面很多信息需要1S鍾不斷異步請求更新信息,如果同時打開多個瀏覽器或者多個當前界面,設備1S鍾會收到很多個請求,由於設備本身內存限制,會導致響應速度過慢,且會造成設備重啟等。
所以需要我們只對停在當前界面的頁面請求進行處理,其他切換掉的界面不再下發請求。
這方面的應用還有切換或最小化視頻頁面暫停播放,打開當前頁簽視頻繼續播放等。
頁簽切換或觸發瀏覽器的 visibilitychange 事件
window.addEventListener("visibilitychange",function(){
console.log(document.hidden)
});
判斷當前頁面是否切換為可見:
1)document.hidden
返回值為true:表示被隱藏,不可見
返回值為false:表示未被隱藏,可見
2)document.visibilityState
返回值有 visible:表示是可見狀態
返回值為 hidden:表示隱藏狀態
全過程代碼,如下,(參考張鑫旭博客)