麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > HTML5 > 正文

HTML5實(shí)現(xiàn)頁面切換激活的PageVisibility API使用初探

2024-09-05 07:21:36
字體:
供稿:網(wǎng)友

HTMl5 推出了一個(gè)很“特別”的 API Page Visibility ,之所以說它特別,是因?yàn)檫@個(gè) API 關(guān)注的是一個(gè)很少人留意的功能 —— 瀏覽器標(biāo)簽( tab ) 是否被激活。這里必須解釋一下,這個(gè)“激活”,指的是這個(gè)標(biāo)簽是否正被用戶瀏覽,或者說是否為當(dāng)前標(biāo)簽。

那么,這個(gè) API 究竟有些什么用途呢?通常,很多傳統(tǒng)的頁面在用戶沒有激活它的時(shí)候,它還會(huì)繼續(xù)工作,例如,當(dāng)用戶正在瀏覽新聞門戶,而他之前打開的 NBA 球賽頁面會(huì)繼續(xù)刷新獲取最新結(jié)果,視頻網(wǎng)站會(huì)繼續(xù)占用帶寬加載資源,于是,如果這類不必要的工作太多了,就會(huì)造成很多的資源浪費(fèi)。因此,這貨相當(dāng)有用:

Web 程序每隔一段時(shí)間會(huì)自動(dòng)更新頁面信息,確保用戶獲取到及時(shí)的信息,但是,當(dāng)用戶正在瀏覽其他頁面時(shí),可以控制它暫停更新。
視頻網(wǎng)站在播放在線視頻時(shí)會(huì)不斷加載視頻,直到視頻加載完畢,但是,當(dāng)用戶正在瀏覽其他頁面時(shí),可以暫停加載視頻資源,節(jié)省帶寬。
網(wǎng)站首頁上有個(gè)大幻燈自動(dòng)播放,當(dāng)用戶瀏覽其他頁面了,就可以暫停播放。
于是,通過 Page Visibility ,我們可以至少達(dá)到以下一種或幾種的好處:

1.節(jié)省服務(wù)器資源,Ajax 輪詢這類服務(wù)器資源占用常常會(huì)被忽略,關(guān)閉這種請(qǐng)求可以節(jié)省資源。
2.節(jié)省內(nèi)存消耗。
3.節(jié)省帶寬消耗。

因此,使用 Page Visibility 無論是對(duì)于用戶還是服務(wù)器都有好處。

接下來正式介紹一下這個(gè) API 。Page Visibility 會(huì)在瀏覽器的 document 對(duì)象上添加兩個(gè)屬性 hidden 和 visibilityState 。如果當(dāng)前的標(biāo)簽被激活了,那么 document.hidden 的值為 false ,否則為 true 。visibilityState 則有4個(gè)可能值:

hidden:當(dāng)瀏覽器最小化、切換標(biāo)簽、電腦鎖屏?xí)r visibilityState 值是 hidden
visible:當(dāng)瀏覽器最頂級(jí)上下文(context)的 document 至少顯示在一個(gè)屏幕當(dāng)中時(shí),返回 visible;當(dāng)瀏覽器窗口沒有最小化,但是瀏覽器被其他應(yīng)用遮擋時(shí),這時(shí)也為 visible
prerender:當(dāng)文檔被加載到屏幕畫面以外或者不可見時(shí)返回 prerender,這個(gè)是非必要屬性,瀏覽器可選擇性的支持。
unloaded:當(dāng)文檔將要被離開 ( unload ) 時(shí)返回 unloaded,瀏覽器也可選擇性的支持這個(gè)屬性
另外,document 上會(huì)添加 visibilitychange 事件,當(dāng) document 的可見性改變時(shí)觸發(fā)該事件。

好了,介紹完屬性,放上一個(gè) Demo (打開后切換標(biāo)簽即可測(cè)試)。

這個(gè) Demo 的作用是監(jiān)聽標(biāo)簽的可見性是否改變 ,并且在標(biāo)簽可見性發(fā)生改變時(shí)產(chǎn)生提示。

值得注意的是,在目前,瀏覽器對(duì)于 Page Visibility 的支持還是通過私有屬性支持,因此在檢測(cè)或利用 Page Visibility 提供的屬性時(shí)需要加上瀏覽器私有前綴,例如在 Chrome 中檢測(cè)上面的 visibilityState 屬性時(shí),就需要檢測(cè) document.webkitVisibilityState 而不是 document.visibilityState 。所以,Demo 中會(huì)首先檢測(cè)瀏覽器類型,然后才使用 Page Visibility 的 API 。主要代碼如下:

JavaScript Code復(fù)制內(nèi)容到剪貼板
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产片91| 成年人黄色免费网站 | 久久sp | 国产午夜精品久久久久婷 | 国产在线精品一区二区三区 | 亚洲乱搞 | 91久久国产露脸精品国产 | 亚洲视频综合网 | asian gaysex| 国产精品av久久久久久久久久 | 成人一级毛片 | 免费午夜视频在线观看 | 欧美日韩大片在线观看 | xxx日本视频 | 中国字幕av | 色毛片 | 精国产品一区二区三区 | 国产女同玩人妖 | 91黄瓜视频 | 国产日韩久久久久69影院 | 日日摸夜夜骑 | 国产一级毛片高清视频完整版 | 免费观看的毛片手机视频 | 最新中文在线视频 | 一区二区久久 | 永久免费黄色片 | 欧美中文日韩 | 久久国产中文字幕 | 欧美激情猛片xxxⅹ大3 | 成人三级电影网址 | 超级av在线 | 黄色片网站免费观看 | 草久在线观看视频 | 色淫视频 | 国产免费高清在线 | 最新黄色电影网站 | 国产羞羞视频在线观看 | 欧美视频不卡 | 亚洲精品欧美二区三区中文字幕 | 亚洲综人网 | av免费在线观看av |