真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

html5的PageVisibilityAPI如何實現獲取焦點js事件-創(chuàng)新互聯

這期內容當中小編將會給大家?guī)碛嘘Phtml5的Page Visibility API如何實現獲取焦點js事件,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯公司是一家集網站建設,響水企業(yè)網站建設,響水品牌網站建設,網站定制,響水網站建設報價,網絡營銷,網絡優(yōu)化,響水網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。

當前窗口獲得焦點js事件,html5發(fā)布之前我們使用window.onfocus和window.onblur來獲得窗口焦點和失去窗口焦點

//當前窗口得到焦點 
window.onfocus = function() { 
  //播放動畫或視頻 
}; 
 
//當前窗口失去焦點 
window.onblur = function() { 
  //暫停動畫或視頻 
};

這個方法可以實現切換標簽暫停動畫視頻,但是會帶來一個問題,由于是判斷焦點,如果是在當前頁面上鋪上一個小窗口,那當前頁面就暫停了動畫,試想,如果你一邊看片,一邊開個聊天窗口與MM聊天,當你操作聊天窗口的時候,視頻暫停了,這并不是你想要的效果。

現在我們來看看HTML5是怎么解決的。H5 提供了很多簡單實用的 API,Page Visibility API 就是其中之一。 Page Visibility API能有效的幫助我們完成這樣的判斷。

使用html5的Page Visibility API來實現

這個 API 本身非常簡單,由以下三部分組成。

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

document.visibilityState:表示下面 4 個可能狀態(tài)的值

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

visible:頁面在前臺標簽頁中

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

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

Visibilitychange事件:當文檔從可見變?yōu)椴豢梢娀蛘邚牟豢梢娮優(yōu)榭梢姇r,會觸發(fā)該事件。

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

document.addEventListener('visibilitychange', function() { 
  var isHidden = document.hidden; 
  if (isHidden) { 
    // 動畫視頻暫停 
  } else { 
    // 動畫視頻開始 
  } 
});

結合demo中的實例,切換標簽或者最小化的時候,demo中的視頻會暫停,恢復當前頁面時,demo中的視頻會繼續(xù)播放。完整的代碼如下:

var videoElement = document.getElementById("videoElement"); 
 
// 如果頁面被隱藏,則暫停播放,如果頁面恢復,則繼續(xù)播放 
function handleVisibilityChange() { 
  if (document[hidden]) { 
    videoElement.pause(); 
  } else { 
    videoElement.play(); 
  } 
} 
 
// 判斷瀏覽器的支持情況 
if (typeof document.addEventListener === "undefined" || typeof document[hidden] === "undefined") { 
  consol.log("This demo requires a browser, such as Google Chrome or Firefox, that supports the Page Visibility API."); 
} else { 
  // 監(jiān)聽visibilityChange事件    
  document.addEventListener(visibilityChange, handleVisibilityChange, false); 
     
  // 當播放器暫停的時候,將頁面標題設置為:Paused. 
  videoElement.addEventListener("pause", function(){ 
    document.title = 'Paused'; 
  }, false); 
     
  // 當播放器正常播放時,將頁面標題設置為:Playing. 
  videoElement.addEventListener("play", function(){ 
    document.title = 'Playing';  
  }, false); 
}

上述就是小編為大家分享的html5的Page Visibility API如何實現獲取焦點js事件了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯成都網站設計公司行業(yè)資訊頻道。

另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


當前名稱:html5的PageVisibilityAPI如何實現獲取焦點js事件-創(chuàng)新互聯
分享URL:http://weahome.cn/article/dcjhgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部