html5的PageVisibilityAPI如何實(shí)現(xiàn)獲取焦點(diǎn)js事件-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)html5的Page Visibility API如何實(shí)現(xiàn)獲取焦點(diǎn)js事件,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

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

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

這個(gè)方法可以實(shí)現(xiàn)切換標(biāo)簽暫停動(dòng)畫視頻,但是會(huì)帶來(lái)一個(gè)問題,由于是判斷焦點(diǎn),如果是在當(dāng)前頁(yè)面上鋪上一個(gè)小窗口,那當(dāng)前頁(yè)面就暫停了動(dòng)畫,試想,如果你一邊看片,一邊開個(gè)聊天窗口與MM聊天,當(dāng)你操作聊天窗口的時(shí)候,視頻暫停了,這并不是你想要的效果。

現(xiàn)在我們來(lái)看看HTML5是怎么解決的。H5 提供了很多簡(jiǎn)單實(shí)用的 API,Page Visibility API 就是其中之一。 Page Visibility API能有效的幫助我們完成這樣的判斷。

使用html5的Page Visibility API來(lái)實(shí)現(xiàn)

這個(gè) API 本身非常簡(jiǎn)單,由以下三部分組成。

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

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

hidden:頁(yè)面在后臺(tái)標(biāo)簽頁(yè)中或者瀏覽器最小化

visible:頁(yè)面在前臺(tái)標(biāo)簽頁(yè)中

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

unloaded:頁(yè)面正在從內(nèi)存中卸載

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

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

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

結(jié)合demo中的實(shí)例,切換標(biāo)簽或者最小化的時(shí)候,demo中的視頻會(huì)暫停,恢復(fù)當(dāng)前頁(yè)面時(shí),demo中的視頻會(huì)繼續(xù)播放。完整的代碼如下:

var videoElement = document.getElementById("videoElement"); 
 
// 如果頁(yè)面被隱藏,則暫停播放,如果頁(yè)面恢復(fù),則繼續(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); 
     
  // 當(dāng)播放器暫停的時(shí)候,將頁(yè)面標(biāo)題設(shè)置為:Paused. 
  videoElement.addEventListener("pause", function(){ 
    document.title = 'Paused'; 
  }, false); 
     
  // 當(dāng)播放器正常播放時(shí),將頁(yè)面標(biāo)題設(shè)置為:Playing. 
  videoElement.addEventListener("play", function(){ 
    document.title = 'Playing';  
  }, false); 
}

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

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

本文題目:html5的PageVisibilityAPI如何實(shí)現(xiàn)獲取焦點(diǎn)js事件-創(chuàng)新互聯(lián)
鏈接地址:http://m.kartarina.com/article16/dcjhgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣網(wǎng)站策劃虛擬主機(jī)網(wǎng)站制作網(wǎng)站設(shè)計(jì)公司定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
主站蜘蛛池模板: 伊人久久无码中文字幕| 无码 免费 国产在线观看91| 成人无码视频97免费| 日韩人妻无码一区二区三区久久99| 久久伊人亚洲AV无码网站| 久久久无码精品国产一区| 毛片亚洲AV无码精品国产午夜| 亚洲性无码av在线| 亚洲av永久无码精品表情包| 中文字幕无码毛片免费看| 中文字幕av无码一二三区电影| 国产亚洲精品无码专区| 亚洲性无码一区二区三区| 亚洲熟妇av午夜无码不卡| 中文字幕丰满乱孑伦无码专区| 亚洲精品无码久久久久秋霞| 亚洲国产一二三精品无码| 国产色综合久久无码有码| 无码中文字幕人妻在线一区二区三区 | 蜜桃无码一区二区三区| 五月丁香六月综合缴清无码| 精品久久久久久无码中文字幕漫画| 中文字幕乱码无码人妻系列蜜桃| 尤物永久免费AV无码网站| 免费A级毛片无码无遮挡内射 | 最新亚洲人成无码网www电影| 免费无码一区二区三区| 无码精品人妻一区二区三区人妻斩| 高h纯肉无码视频在线观看| 亚欧无码精品无码有性视频| 亚洲精品久久无码| 在人线av无码免费高潮喷水| 色爱无码AV综合区| 亚洲精品无码久久毛片波多野吉衣 | 亚洲av纯肉无码精品动漫| 国产色综合久久无码有码| 伊人蕉久中文字幕无码专区| 亚无码乱人伦一区二区| 亚洲av中文无码字幕色不卡 | 久久青青草原亚洲av无码| 狠狠爱无码一区二区三区|