window 的 focus 事件


window 的 focus 事件

window.onfocus = function(e) { 
  // 事件處理
}
// 或
window.addEventListener('focus', () => {
   // 事件處理
}, true)

如果打開該頁面,然后直接切換瀏覽器的標簽,是不會觸發focus事件的,想要觸發事件這個 焦點事件,必須要在頁面打開后點擊一次頁面,這樣以后 切換 瀏覽器標簽 focus 事件才會生效。

可以使用html5的Page Visibility API來替換
這個 API 本身非常簡單,由以下三部分組成。

document.hidden:表示頁面是否隱藏的布爾值。頁面隱藏包括 頁面在后台標簽頁中 或者 瀏覽器最小化 (注意,頁面被其他軟件遮蓋並不算隱藏,比如打開的 sublime 遮住了瀏覽器)。

document.visibilityState:表示下面 4 個可能狀態的值

hidden:頁面在后台標簽頁中或者瀏覽器最小化

visible:頁面在前台標簽頁中

prerender:頁面在屏幕外執行預渲染處理 document.hidden 的值為 true

unloaded:頁面正在從內存中卸載

Visibilitychange事件:當文檔從可見變為不可見或者從不可見變為可見時,會觸發該事件。

這樣,我們可以監聽 Visibilitychange 事件,當該事件觸發時,獲取 document.hidden 的值,根據該值進行頁面一些事件的處理。

document.addEventListener('visibilitychange', function() { 
  var isHidden = document.hidden; 
  if (isHidden) { 
    // 頁面隱藏
  } else { 
    // 頁面聚焦 
  } 
});

https://blog.csdn.net/huangzhenkun94/article/details/73772728/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM