利用HTML5判斷使用者是否正在瀏覽頁面技巧

來源:互聯網
上載者:User

標籤:http   render   監聽   targe   tab   target   停止   tab頁   visible   

現在,HTML5裡頁面可見度介面就提供給了程式員一個方法,讓他們使用visibilitychange頁面事件來判斷當前頁面可見度的狀態,並針對性的執行某些任務。同時還有新的document.hidden屬性可以使用。

document.hidden

這個新出現的document.hidden屬性,它顯示頁面是否為使用者當前觀看的頁面,值為ture或false。

document.visibilityState

visibilityState的值要麼是visible (表明頁面為瀏覽器當前啟用tab,而且視窗不是最小化狀態),要麼是hidden (頁面不是當前啟用tab頁面,或者視窗最小化了。),或者prerender (頁面在重建,對使用者不可見。).

visibilitychange事件

監聽頁面可見度變化非常容易:

代碼如下:

  1. // 各種瀏覽器安全色 
  2. var hidden, state, visibilityChange;  
  3. if (typeof document.hidden !== "undefined") { 
  4. hidden = "hidden"; 
  5. visibilityChange = "visibilitychange"; 
  6. state = "visibilityState"; 
  7. } else if (typeof document.mozHidden !== "undefined") { 
  8. hidden = "mozHidden"; 
  9. visibilityChange = "mozvisibilitychange"; 
  10. state = "mozVisibilityState"; 
  11. } else if (typeof document.msHidden !== "undefined") { 
  12. hidden = "msHidden"; 
  13. visibilityChange = "msvisibilitychange"; 
  14. state = "msVisibilityState"; 
  15. } else if (typeof document.webkitHidden !== "undefined") { 
  16. hidden = "webkitHidden"; 
  17. visibilityChange = "webkitvisibilitychange"; 
  18. state = "webkitVisibilityState"; 
  19. }// 添加監聽器,在title裡顯示狀態變化 
  20. document.addEventListener(visibilityChange, function() { 
  21. document.title = document[state]; 
  22. }, false);// 初始化 
  23. document.title = document[state]; 


上面的代碼會在頁面可見度發生變化時修改document.title的值!

那麼,什麼時候需要使用visibilitychange事件呢?比如,如果你的頁面上有嵌入視頻現正播放,當使用者切換到其它標籤頁時,你的標籤頁上的視頻應自動暫停播放,當使用者切換回來時繼續接著播放。再比如,如果你的頁面有自動重新整理動作,當使用者切換到其它標籤頁時,你就應該停止重新整理,而當使用者切換回來時繼續之前的動作。

 

轉載請註明:代碼學堂>web前端 > html教程 > 如何利用HTML5判斷使用者是否正在瀏覽頁面

利用HTML5判斷使用者是否正在瀏覽頁面技巧

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.