HTML5 全屏API讲解

概述

前端工作中,特别是大屏展示需要全屏展示,如果用户不想手动F11让电脑屏幕全屏,那作为开发者如何实现呢?

相关 API 介绍

requestFullscreen 方法

其实 HTML5 为我们提供了requestFullscreen方法,用于使一个元素进入全屏模式,这对于增强用户体验,如统计分析页面需要大屏展示时非常实用。

通常情况下,这个 API 需要在用户交互比(如点击按钮)后才能调用,否则浏览器会报错:Uncaught (in promise) TypeError: Permissions check failed

示例如下:

js 复制代码
doms.container
  .requestFullscreen()
  .then(() => {
    console.log("全屏了");
  })
  .catch((err) => {
    console.log(err.message);
  });

若不是在用户交互后才触发全屏,程序会走catch,捕获错误;若成功,则执行then的回调。

exitFullscreen 方法

exitFullscreen方法用于退出全屏模式,通常通过document.exitFullscreen()。

fullscreen 属性

document.fullscreen属性返回当前是否是全屏模式。

fullscreenEnabled属性

一般获取document.fullscreenEnabled的值,用于判断当前浏览器是否支持全屏。

fullscreenElement 属性

document.fullscreenElement属性返回当前全屏的元素或DOM节点,如果不是全屏,则返回null。

onfullscreenchange 方法

onfullscreenchange方法可以用于监听进入全屏和退出全屏,其方法在requestFullscreen或exitFullscreen的then后面执行。

onfullscreenerror 方法

onfullscreenerror方法与onfullscreenchange相应,用于捕获全屏模式进入和退出的错误异常情况。

相关推荐
子兮曰12 小时前
把 649 种文件格式塞进一个网页里:一个「文件不出浏览器」的预览器
前端·javascript·后端
百度一下吧15 小时前
H5 中 CDN 的加载时机与接入方式
html5
sm_9267870515 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
IMPYLH15 小时前
HTML 的 <video> 元素
前端·html
溪语流沙16 小时前
【每天一个CSS | Day19】流光文字与一笔写成的手写签名
前端·javascript·css
逐光者93316 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
To_OC16 小时前
同样是让 AI 写全栈,为什么别人一句话就够了
前端·前端框架·next.js
CDwenhuohuo16 小时前
electron pc项目打包成桌面端
前端·javascript·electron
前端大斗师16 小时前
「大于 1000」把 1000 元那单也算进去了:我在 Vue3 订单页对了 10 句话
前端·人工智能·typescript·大模型·原力计划
copilot中国版17 小时前
PPT Copilot 一键统一全篇版式,告别字体混乱、元素错位和重复排版
html·powerpoint·copilot