摘要:全屏為使用用戶(hù)的整個(gè)屏幕展現(xiàn)網(wǎng)絡(luò)內(nèi)容提供了一種簡(jiǎn)單的方式。退出全屏模式方式一按或鍵退出全屏方式二自定義全屏退出邏輯按建退出全屏注意方法只存在于對(duì)象上,而不存在與事件事件觸發(fā)的時(shí)刻的有個(gè)一是進(jìn)入全屏?xí)r,二是退出全屏?xí)r。
MDN:全屏 API 為使用用戶(hù)的整個(gè)屏幕展現(xiàn)網(wǎng)絡(luò)內(nèi)容提供了一種簡(jiǎn)單的方式。這種API讓你可以簡(jiǎn)單地控制瀏覽器,使得一個(gè)元素與其子元素,如果存在的話(huà),可以占據(jù)整個(gè)屏幕,并在此期間,從屏幕上隱藏所有的瀏覽器用戶(hù)界面以及其他應(yīng)用。概覽
document.fullscreen
document.fullscreenElement
document.fullscreenEnabled
elem.requestFullscreen
document.exitFullscreen
document.onfullscreenchange
document.onfullscreenerror
屬性 document.fullscreen用于檢測(cè)當(dāng)前文檔是否處于全屏模式,返回值為布爾類(lèi)型
document.fullscreenElement當(dāng)前激活全屏模式的元素
document.fullscreenEnabled當(dāng)前文檔是否支持全屏
方法 請(qǐng)求全屏模式一個(gè)全屏的請(qǐng)求應(yīng)該由一個(gè)具體的元素發(fā)出,以video元素為例,請(qǐng)求方式如下:
var elem = document.getElementById("video"); elem.addEventListener("click",function () { if (elem.requestFullscreen) { elem.requestFullscreen(); } });
MDN:全屏請(qǐng)求必須在事件處理函數(shù)中調(diào)用,否則將會(huì)被拒絕。退出全屏模式
方式一:按 ESC 或 F11 鍵退出全屏
方式二:[keydown event] + document.exitFullscreen自定義全屏退出邏輯
// 按Enter建退出全屏 document.addEventListener("keydown", function(e) { if (e.keyCode == 13) { document.exitFullscreen(); } }, false);
注意:exitFullscreen方法只存在于document對(duì)象上,而不存在與elem事件 onfullscreenchange
onfullscreenchange事件觸發(fā)的時(shí)刻的有2個(gè):一是進(jìn)入全屏?xí)r,二是退出全屏?xí)r。也就是說(shuō)如果全屏模式的狀態(tài)發(fā)生了改變,那么onfullscreenchange事件就會(huì)被觸發(fā)
document.onfullscreenchange = function ( event ) { console.log("全屏模式狀態(tài)改變"); };onfullscreenerror
當(dāng)嘗試在不支持全屏模式的元素上請(qǐng)求全屏?xí)r,則會(huì)發(fā)生錯(cuò)誤,這個(gè)錯(cuò)誤會(huì)觸發(fā)onfullscreenerror事件
document.onfullscreenerror = function ( event ) { console.log("全屏模式失敗"); };
驗(yàn)證onfullscreenerror事件最簡(jiǎn)單的方式就是:在事件監(jiān)聽(tīng)器之外發(fā)起全屏請(qǐng)求。
因?yàn)?strong>全屏請(qǐng)求必須在事件處理函數(shù)中調(diào)用,否則將會(huì)被拒絕。在拒絕的同時(shí)會(huì)產(chǎn)生一個(gè)錯(cuò)誤,這個(gè)錯(cuò)誤會(huì)觸發(fā)onfullscreenerror事件
document.onfullscreenerror = function ( event ) { console.log("全屏模式失敗"); }; // requestFullscreen()將會(huì)失敗,因?yàn)樗谑录幚砥髦?document.documentElement.requestFullscreen();全屏樣式
Gecko會(huì)自動(dòng)為進(jìn)入全屏模式的元素添加額外樣式:width: 100%; height: 100%l; ,目的是使其鋪滿(mǎn)整個(gè)屏幕;而webkit沒(méi)有這種默認(rèn)行為,所以需要我們手動(dòng)補(bǔ)充這個(gè)樣式
#video:-webkit-full-screen { width: 100%; height: 100%; }兼容 PC端 移動(dòng)端 前綴 表1 表2 結(jié)語(yǔ)
本文絕大部分參考MDN文檔,目的是整理Web全屏Api,非原創(chuàng)文章
原文地址:https://www.guoyunfeng.com/20...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/52875.html
摘要:全屏為使用用戶(hù)的整個(gè)屏幕展現(xiàn)網(wǎng)絡(luò)內(nèi)容提供了一種簡(jiǎn)單的方式。退出全屏模式方式一按或鍵退出全屏方式二自定義全屏退出邏輯按建退出全屏注意方法只存在于對(duì)象上,而不存在與事件事件觸發(fā)的時(shí)刻的有個(gè)一是進(jìn)入全屏?xí)r,二是退出全屏?xí)r。 MDN:全屏 API 為使用用戶(hù)的整個(gè)屏幕展現(xiàn)網(wǎng)絡(luò)內(nèi)容提供了一種簡(jiǎn)單的方式。這種API讓你可以簡(jiǎn)單地控制瀏覽器,使得一個(gè)元素與其子元素,如果存在的話(huà),可以占據(jù)整個(gè)屏幕,并...
摘要:知乎視頻播放器開(kāi)源介紹是什么是一個(gè)基于的視頻播放器,目前已在知乎和內(nèi)使用,并在上開(kāi)源。對(duì)于視頻播放器中常見(jiàn)的首幀時(shí)長(zhǎng),緩沖次數(shù)等指標(biāo),可以通過(guò)接收事件來(lái)進(jìn)行打點(diǎn)記錄。結(jié)語(yǔ)所有的工作都會(huì)在上進(jìn)行知乎內(nèi)部使用的也是同一個(gè)倉(cāng)庫(kù)。 知乎視頻播放器 Griffith 開(kāi)源介紹 Griffith 是什么? Griffith 是一個(gè)基于 React 的視頻播放器,目前已在知乎 web 和 mobil...
閱讀 3520·2023-04-25 17:35
閱讀 2595·2021-11-24 09:39
閱讀 2534·2021-10-18 13:32
閱讀 3420·2021-10-11 10:58
閱讀 1639·2021-09-26 09:55
閱讀 6160·2021-09-22 15:47
閱讀 969·2021-08-26 14:15
閱讀 3474·2019-08-30 15:55