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