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