如何監聽頁面是否位於瀏覽器顯示標籤頁位置

如圖所示 , 當瀏覽器打開很多標籤頁時監聽是否爲選中 ;
當最小化瀏覽器是也會觸發該函數。
我們可以用這個方法控制頁面中運行的 js 在對應的狀態下停止或者開始運行 , 優化 js 並減少瀏覽器負擔

在這裏插入圖片描述
谷歌(Chrome)瀏覽器下測試如下 , 可以正常運行 :
chrome 瀏覽器中運行的結果
Safari 瀏覽器下測試如下 , 可以正常運行 :
Safari 瀏覽器中運行的結果
火狐瀏覽器下測試如下 , 可以正常運行 :
火狐瀏覽器中運行的結果
代碼如下 :

  var hiddenProperty = 'hidden' in document ? 'hidden' :
   'webkitHidden' in document ? 'webkitHidden' :
   'mozHidden' in document ? 'mozHidden' : null;
   var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange');
   var onVisibilityChange = function () {
       // 當可見性改變觸發函數
       if (!document[hiddenProperty]) {
           console.log("現在是主屏顯示");
           // 當頁面在瀏覽器可視標籤頁顯示時
       } else {
           console.log("離開標籤頁");
           // 當頁面隱藏時
       }
   }
   document.addEventListener(visibilityChangeEvent, onVisibilityChange);
發佈了28 篇原創文章 · 獲贊 28 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章