HTML5全屏API
翻譯人員: 鐵錨
原文日期: 2013年12月23日
翻譯日期: 2013年12月29日
原文連結: Fullscreen API
在越來越真實的web應用程式中,JavaScript也變得越來越給力.
FullScreen API 是一個新的JavaScript API,簡單而又強大. FullScreen 讓我們可以通過程式設計的方式來向使用者請求全屏顯示,如果互動完成,隨時可以退出全屏狀態.
線上演示Demo: Fullscreen API Example
(在此Demo中,可以Launch ,Hide ,以及Dump顯示相關屬性,可以通過chrome的控制檯檢視日誌資訊.)
啟動全屏模式
全屏API requestFullscreen方法在一些老的瀏覽器裡面依然使用帶字首形式的方法名,因此可能需要進行檢測判斷:
(帶字首,意思就是各個瀏覽器核心不通用.)
// 找到支援的方法, 使用需要全屏的 element 呼叫 function launchFullScreen(element) { if(element.requestFullscreen) { element.requestFullscreen(); } else if(element.mozRequestFullScreen) { element.mozRequestFullScreen(); } else if(element.webkitRequestFullscreen) { element.webkitRequestFullscreen(); } else if(element.msRequestFullscreen) { element.msRequestFullscreen(); } } // 在支援全屏的瀏覽器中啟動全屏 // 整個頁面 launchFullScreen(document.documentElement); // 某個元素 launchFullScreen(document.getElementById("videoElement"));
將需要全屏顯示的DOM元素作為引數,呼叫此方法即可讓window進入全屏狀態,有時候可能需要使用者同意(瀏覽器自己和使用者互動),假若使用者拒絕,則可能出現各種不完全的全屏.
如果使用者同意進入全屏,那麼工具欄以及其他瀏覽器元件會隱藏起來,使document框架的寬度和高度橫跨整個螢幕.
退出全屏模式
使用 exitFullscreen 方法可以使瀏覽器退出全屏,返回原先的佈局. 該方法在一些老的瀏覽器上也是支援字首方法.
// 退出 fullscreen function exitFullscreen() { if(document.exitFullscreen) { document.exitFullscreen(); } else if(document.mozExitFullScreen) { document.mozExitFullScreen(); } else if(document.webkitExitFullscreen) { document.webkitExitFullscreen(); } } // 呼叫退出全屏方法! exitFullscreen();
請注意: exitFullscreen 只能通過 document 物件呼叫 —— 而不是使用普通的 DOM element.
Fullscreen 屬性與事件
一個壞訊息,到目前為止,全屏事件和方法依然是帶字首的,好訊息就是很快主流瀏覽器就會都支援。
- document.fullscreenElement: 當前處於全屏狀態的元素 element.
- document.fullscreenEnabled: 標記 fullscreen 當前是否可用.
當進入/退出 全屏模式時,會觸發 fullscreenchange 事件:
var fullscreenElement = document.fullscreenEnabled || document.mozFullscreenElement || document.webkitFullscreenElement; var fullscreenEnabled = document.fullscreenEnabled || document.mozFullscreenEnabled || document.webkitFullscreenEnabled;
在初始化全屏方法時,可以探測需要監聽哪一個事件.
Fullscreen CSS
瀏覽器提供了一些有用的 fullscreen CSS 控制規則:
/* html */ :-webkit-full-screen { /* properties */ } :-moz-fullscreen { /* properties */ } :fullscreen { /* properties */ } /* deeper elements */ :-webkit-full-screen video { width: 100%; height: 100%; } /* styling the backdrop */ ::backdrop { /* properties */ }
在某些情況下,WebKit需要一些特殊處理,所以在處理多媒體時,你可能需要上面的程式碼。
我認為 Fullscreen API 超級簡單,超級有用. 我首次見到這個 API 是在一個名為
MDN`s BananaBread demo 的全客戶端第一人稱射擊遊戲, 這真是一個使用全屏模式的絕佳案例。
全屏API提供了進入和退出全屏模式的方式,並提供相應的事件來監測全屏狀態的改變,所以各方面都連貫起來了.
請記住這個很好的API吧 —— 在未來的某個時刻,它肯定會派上用場!
相關文章
- HTML5 之全屏方法HTML
- HTML5如何監聽video的全屏和退出全屏?HTMLIDE
- 瀏覽器全屏API瀏覽器API
- Fullscreen API 全屏顯示網頁API網頁
- HTML5 : History APIHTMLAPI
- WebView 視訊全屏播放(基於Html5 video)WebViewHTMLIDE
- HTML5(五)——Canvas APIHTMLCanvasAPI
- HTML5新增的APIHTMLAPI
- 全屏API及vue3 hook封裝APIVueHook封裝
- fullPage.js全屏滾動外掛APIJSAPI
- HTML5動畫API—— requestAnimationFrameHTML動畫APIrequestAnimationFrame
- HTML5 Canvans 常用API整理HTMLAPI
- HTML5中 drag 和 drop apiHTMLAPI
- 初識HTML5 Web Audio APIHTMLWebAPI
- 解決html5全屏展示後頁面還是可以拖動HTML
- HTML5地理定位-Geolocation APIHTMLAPI
- HTML5網頁body設定自適應全屏示例程式碼HTML網頁
- HTML5新增API之DOM 擴充套件HTMLAPI套件
- HTML5語音合成Speech Synthesis API簡介HTMLAPI
- html5–移動端視訊video的android相容,去除播放控制元件、全屏等HTMLIDEAndroid控制元件
- HTML5拖拽API實現vue樹形拖拽元件HTMLAPIVue元件
- Qt全屏顯示和按鍵ESC退出全屏QT
- OFFICE快速全屏
- 前端-全屏功能前端
- Fullscreen 全屏效果
- JavaScript div 全屏JavaScript
- Web全屏模式Web模式
- Web全屏模式輕鬆掌握[區域性元素全屏展示]Web模式
- JavaScript 圖片全屏JavaScript
- screenfull全屏外掛
- VideoView全屏處理IDEView
- 利用html5 file api讀取本地檔案(如圖片、PDF等)HTMLAPI
- win10怎麼全屏_win10設定全屏的方法Win10
- w10系統lol不能全屏怎麼調全屏_w10系統lol無法全屏如何修復
- Qt Android 實現全屏QTAndroid
- Swift全屏滑動返回Swift
- 影片播放元件中,樣式全屏和全屏的區別是什麼?元件
- 瀏覽器全屏外掛screenfull.js與全屏狀態監聽瀏覽器JS
- HTML5 body設定全屏背景圖片 如何讓body的背景圖片自適應整個屏—-實戰經驗HTML