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相应,用于捕获全屏模式进入和退出的错误异常情况。

相关推荐
花开盛夏^.^3 小时前
电脑打开多个浏览器Web窗口占用较大的运行内存的原因
前端·浏览器
馒头不想说话4 小时前
实体店老板的24小时AI运营员工,写、剪、发全自动,省下一整个团队工资
前端
椒哥6 小时前
一天被问几十次"允许",我统计了 517 次,然后写了个插件
前端·javascript·github
风骏时光牛马6 小时前
生成一个AI稳定性治理及疑难问题分析标题,只需要一个标题,不需要其他的任何文本。
前端
莫西干式秃头6 小时前
用 AI + threejs 写了个浏览器里的 3D 动作游戏《武来》:砍怪、放技能、开 SU7
前端·人工智能·three.js
kyriewen7 小时前
我测了 6 种防请求竞态的写法:只有 1 种真能打
前端·javascript·程序员
孟健7 小时前
用 WorkBuddy 做个人名片网页,挂上开源设计技能后效果完全不同了
前端·人工智能·ai编程
IT_陈寒7 小时前
SpringBoot自动配置的坑,这次终于爬出来了
前端·人工智能·后端
LuHang8 小时前
从天地图切换到高德地图:一次真实的底图迁移实战
前端·vue.js·cesium
用户360055579008 小时前
Kestrel_VLLM - 27 · 寄存器常驻与融合发射:两次「少发一次」
前端