婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > HTML5實現頁面切換激活的PageVisibility API使用初探

HTML5實現頁面切換激活的PageVisibility API使用初探

熱門標簽:電話機器人如何 高德地圖標注賓館位置 聯通400電話申請 百應電銷機器人產業 飛亞外呼系統 電視購物電銷外呼系統 杭州營銷電銷機器人供應商 貸款電銷人工和機器人哪個好 西寧智能外呼系統加盟

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

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

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

1.節省服務器資源,Ajax 輪詢這類服務器資源占用常常會被忽略,關閉這種請求可以節省資源。
2.節省內存消耗。
3.節省帶寬消耗。

因此,使用 Page Visibility 無論是對于用戶還是服務器都有好處。

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

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

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

這個 Demo 的作用是監聽標簽的可見性是否改變 ,并且在標簽可見性發生改變時產生提示。

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

JavaScript Code復制內容到剪貼板
  1. function browerKernel(){   
  2.     
  3.     var result;   
  4.     
  5.     ['webkit''moz''o''ms'].forEach(function(prefix){   
  6.     
  7.         iftypeof document[ prefix + 'Hidden' ] != 'undefined' ){   
  8.             result = prefix;   
  9.         }   
  10.     });   
  11.     
  12.     return result;   
  13.     
  14. }   
  15.     
  16. function init(){   
  17.     
  18.     prefix = browerKernel();   
  19.     
  20.     var showTip = document.getElementById('showTip');   
  21.     
  22.     document.addEventListener( prefix  + 'visibilitychange'function onVisibilityChange(e){   
  23.     
  24.         var tip = null;   
  25.                 
  26.         if( document[ prefix + 'VisibilityState' ] == 'hidden' ) tip = '<p>離開頁面</p>';   
  27.         else if( document[ prefix + 'VisibilityState' ]  == 'visible' ) tip = '<p>進入頁面</p>';   
  28.     
  29.         showTip.innerHTML = showTip.innerHTML + tip;   
  30.     });   
  31. }   
  32.     
  33. window.onload = init();   
  34.   

再再來看一個具體的例子,代碼如下:

JavaScript Code復制內容到剪貼板
  1. <!DOCTYPE HTML>       
  2. <html>       
  3. <head>       
  4.      <script type="text/javascript">       
  5.           timer = 0;       
  6.           function onLoad(){       
  7.                document.addEventListener("visibilitychange",stateChanged);       
  8.                document.addEventListener("webkitvisibilitychange", stateChanged);       
  9.                document.addEventListener("msvisibilitychange", stateChanged);       
  10.           }       
  11.           function stateChanged(){       
  12.                console.log(document.webkitVisibilityState);       
  13.                if(document.hidden || document.webkitHidden || document.msHidden){       
  14.                     //new tab or window minimized     
  15.                     timer = new Date().getTime();       
  16.                }       
  17.                else {       
  18.                     alert('You were away for ' + (new Date().getTime()-timer)/1000+ ' seconds.')       
  19.                }       
  20.           }       
  21.      </script>       
  22. </head>       
  23. <body onLoad="onLoad()">       
  24. </body>       
  25. </html>    

在上面的代碼中,同樣,在CHROME運行下,在LOAD事件中,監聽了相關的 webkitvisibilitychange事件(這個在CHROME下),如果是IE 10,則是 msvisibilitychange事件,然后在回調函數中,開始了計算用戶在頁面停留的時間, 所以當你打開其他TAB頁或者最小化后,再切換回原來這個頁,則會JAVASCRIPT 彈出顯示:你離開了頁面多長時間 。
要注意的是,在CHROME中,屬性命名為webkitHidden,事件為 webkitvisibilitychange事件,而在IE 10中,屬性為msHidden 和 msVisibilityState.

標簽:晉中 玉溪 邯鄲 安慶 牡丹江 撫州 煙臺 內蒙古

巨人網絡通訊聲明:本文標題《HTML5實現頁面切換激活的PageVisibility API使用初探》,本文關鍵詞  HTML5,實現,頁面,切換,激,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5實現頁面切換激活的PageVisibility API使用初探》相關的同類信息!
  • 本頁收集關于HTML5實現頁面切換激活的PageVisibility API使用初探的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    99re亚洲国产精品| 亚洲丶国产丶欧美一区二区三区| 不卡的av中国片| 国产麻豆91精品| 国精产品一区一区三区mba桃花| 久久精品噜噜噜成人av农村| 久久99精品国产麻豆婷婷| 国产一区二区三区av电影| 六月丁香婷婷久久| 成人午夜在线免费| 91福利视频在线| 欧洲中文字幕精品| 成人手机电影网| 国产成人av一区| 欧美在线一二三四区| 欧美日韩国产bt| 久久精品视频在线免费观看 | 国产乱淫av一区二区三区| 成人丝袜视频网| 9191成人精品久久| 国产午夜精品美女毛片视频| 亚洲精品乱码久久久久久久久 | youjizz久久| 91精品国产色综合久久ai换脸 | 国产乱子伦视频一区二区三区| 国产91精品在线观看| 69精品人人人人| 欧美日韩久久久一区| 精品国产自在久精品国产| 中文字幕一区二区在线观看| 日本成人超碰在线观看| 91美女片黄在线观看| 欧美福利视频一区| 亚洲综合一区在线| 国产69精品久久久久777| 91.麻豆视频| 亚洲成人精品影院| 91黄色小视频| 久久久午夜精品理论片中文字幕| 亚洲国产欧美另类丝袜| 国产传媒欧美日韩成人| 欧美成人女星排行榜| 亚洲特黄一级片| 福利一区二区在线观看| 日韩一区二区视频在线观看| 日本aⅴ亚洲精品中文乱码| 国产三级精品三级| www.99精品| 亚洲免费在线观看视频| 视频一区二区不卡| 久久日一线二线三线suv| 免费人成在线不卡| 日韩午夜精品视频| 日韩中文字幕不卡| 精品成人在线观看| 日本系列欧美系列| 久久99久久99小草精品免视看| 香蕉av福利精品导航| 欧美在线观看一二区| 国产精品网站导航| 欧美tk—视频vk| 国产精品影视在线观看| 久久一区二区视频| 中文字幕精品—区二区四季| 精品国产乱码久久久久久图片 | 五月天激情综合网| 欧美乱妇15p| 另类成人小视频在线| 国产亚洲精品免费| 97se亚洲国产综合自在线不卡| 亚洲一区在线观看视频| 欧美麻豆精品久久久久久| 亚洲色图制服诱惑 | 在线成人免费视频| 激情文学综合丁香| 国产精品久久毛片a| 国产盗摄视频一区二区三区| 奇米色一区二区| 中文字幕av不卡| 69堂亚洲精品首页| 2020国产精品自拍| 国产精品家庭影院| 亚洲国产精品天堂| 蜜臀av一区二区三区| 黄色成人免费在线| jlzzjlzz欧美大全| 色婷婷久久99综合精品jk白丝| 欧美亚洲动漫精品| 精品国产精品网麻豆系列| 国产亚洲欧美在线| 一区二区三区中文字幕精品精品 | 欧美日本不卡视频| 这里只有精品免费| 欧美成人一级视频| 日韩理论片在线| 亚洲va在线va天堂| 国产精品自拍网站| 91免费版在线| 日韩欧美二区三区| 最新国产成人在线观看| 日韩国产精品大片| av在线不卡免费看| 日韩视频不卡中文| 亚洲精品水蜜桃| 国产精品一区二区免费不卡 | 日韩欧美精品三级| 最新高清无码专区| 国产在线看一区| 欧美日韩视频在线第一区| 日韩欧美亚洲一区二区| 亚洲免费在线电影| 国产一区二区精品久久| 日本丰满少妇一区二区三区| 久久―日本道色综合久久| 无码av免费一区二区三区试看 | 久久精品一区二区三区不卡牛牛| 国产精品护士白丝一区av| 日韩高清一区在线| 国产一区二区三区黄视频 | 毛片一区二区三区| 99久久精品费精品国产一区二区| 欧美一区二区视频在线观看2022| 亚洲女同ⅹxx女同tv| 高清不卡一二三区| 久久免费国产精品| 美女视频黄频大全不卡视频在线播放 | 亚洲欧美综合网| 国产成a人亚洲| 久久久久久亚洲综合影院红桃 | 免费高清不卡av| 欧美三级电影一区| 亚洲欧美日韩国产综合在线| 精品一区二区三区欧美| 欧美色图12p| 国产精品久久久久久久浪潮网站| 激情丁香综合五月| 欧美一级片在线| 亚洲精品免费在线播放| 91蜜桃免费观看视频| 国产精品灌醉下药二区| 99国产精品视频免费观看| 久久久久久久久久久久电影| 美女一区二区在线观看| 欧美成人a∨高清免费观看| 热久久久久久久| 欧美一级生活片| 国产乱码一区二区三区| 久久精品人人做| 国产在线国偷精品产拍免费yy| 欧美tk—视频vk| 久久不见久久见中文字幕免费| 欧美一级在线观看| 国产iv一区二区三区| 成人免费在线播放视频| 国产成人精品午夜视频免费| 日韩精品影音先锋| 国产电影一区二区三区| 成人欧美一区二区三区在线播放| 成人激情免费视频| 久久久美女毛片| 国产成人av网站| 亚洲老妇xxxxxx| 欧美一级高清大全免费观看| 狠狠色狠狠色综合日日91app| 精品国产污污免费网站入口 | 久久久亚洲午夜电影| 成人h精品动漫一区二区三区| 亚洲另类在线制服丝袜| 7777精品伊人久久久大香线蕉经典版下载| 日本aⅴ免费视频一区二区三区| 日韩一级片网站| 99麻豆久久久国产精品免费优播| 一区二区三区在线观看动漫| 制服丝袜亚洲播放| 国产精品影视在线| 夜夜嗨av一区二区三区中文字幕| 欧美日韩精品一区二区| 日韩经典一区二区| 欧美极品aⅴ影院| 91国偷自产一区二区开放时间 | 国产一区不卡视频| 亚洲精品欧美综合四区| 欧美系列在线观看| 久久av老司机精品网站导航| 国产精品国产自产拍高清av | 欧美二区在线观看| 成人免费视频免费观看| 老司机精品视频导航| 国产精品久久久久久久裸模| 欧美一区二区黄| 色吧成人激情小说| 国产成人精品影院| 久久国产尿小便嘘嘘| 亚洲香蕉伊在人在线观| 欧美国产禁国产网站cc| 777午夜精品视频在线播放| 99精品视频在线观看| 国产九色精品成人porny | 久99久精品视频免费观看| 最近中文字幕一区二区三区|