Fullscreen API
可以使用你以全屏模式打开或关闭元素。例如,允许 video
或 canvas
元素,使其占据整个屏幕的。
全屏显示可以是任意元素
HTML5 API 存在兼容性问题,即使高版本浏览器也有兼容性问题
不同浏览器需要添加不同的前缀
webkit
、moz
、o
、ms
基本用法
主要了解它的两个方法:
-
document.requestFullscreen()
在系统上以全屏模式显示选定的元素,从而关闭其他应用程序以及浏览器和系统 UI 元素。 -
document.exitFullscreen()
将全屏模式退出到正常模式。
- const fullscreen = (mode = true, el = 'body') =>
- mode
- ? document.querySelector(el).requestFullscreen()
- : document.exitFullscreen()
-
- fullscreen() // 默认全屏模式打开 "body"
- fullscreen(false) // 退出全屏模式
:fullscreen
CSS 伪元素代表一个元素,当浏览器是在全屏模式下的显示。
- .elem:fullscreen {
- background-color: #e4708a;
- width: 100vw;
- height: 100vh;
- }
兼容
并不是所有的浏览器都支持 Fullscreen API,你可以做一下适当的兼容来解决问题。
- function launchFullScreen(elem) {
- if (elem.requestFullScreen) {
- elem.requestFullScreen()
- } else if (elem.mozRequestFullScreen) {
- elem.mozRequestFullScreen()
- } else if (elem.webkitRequestFullScreen) {
- elem.webkitRequestFullScreen()
- } else if (elem.msRequestFullscreen) {
- elem.msRequestFullscreen()
- } else {
- elem.oRequestFullScreen()
- }
- }
对应的,也需要添加 CSS 前缀。注意:有些使用旧的 :full-screen
语法而不是标准 :fullscreen
。
- div:-webkit-full-screen {}
- :-moz-full-screen {}
- :-o-full-screen {}
- :-ms-fullscreen {}