javascript 全屏需通过元素调用 requestfullscreen() 实现,必须在用户交互中触发;用 document.fullscreenelement 判断状态,监听 fullscreenchange 事件;退出用 document.exitfullscreen();css 可用 :fullscreen 伪类适配样式。

JavaScript 中调用浏览器全屏 API 不是通过 BOM 的某个对象直接调用,而是通过 Element 接口(如 document.documentElement 或某个具体元素)调用 requestFullscreen() 方法实现的。BOM(Browser Object Model)本身没有“全屏 API”,全屏能力属于 DOM 规范的一部分,由元素对象提供。
如何触发全屏模式
必须在用户交互(如点击、按键)的回调中调用,否则多数浏览器会静默拒绝:
- 使用
document.documentElement.requestFullscreen()进入整个页面全屏 - 也可以对某个容器元素调用,例如
document.getElementById('video').requestFullscreen(),只让该元素及其子内容全屏(常见于视频播放器) - 注意方法名带浏览器前缀的历史遗留问题:旧版 Chrome/Safari 用
webkitRequestFullscreen(),Firefox 早期用mozRequestFullScreen(),现在标准写法已统一为requestFullscreen()
检测和监听全屏状态
全屏状态不是全局变量,需通过 document.fullscreenElement 判断:
-
document.fullscreenElement返回当前处于全屏的元素,为null表示未全屏 - 监听事件:
document.addEventListener('fullscreenchange', handler)(进入或退出时触发) - 错误处理:监听
fullscreenerror事件,捕获因权限、上下文限制等导致的失败
退出全屏
调用 document.exitFullscreen(),无需传参:
- 该方法返回一个 Promise(现代浏览器),可
.then()处理成功退出逻辑 - 兼容写法建议封装判断:
if (document.fullscreenElement) document.exitFullscreen(); - 注意:不能跨用户操作自动退出(比如定时器触发),仍需用户手势上下文才有效
样式与适配提示
进入全屏后,浏览器通常会给 :fullscreen 伪类添加默认样式(如黑底、居中),你也可以自定义:
- CSS 中用
div:fullscreen { width: 100vw; height: 100vh; }控制布局 - 注意不同浏览器对伪类名称的支持差异(
:fullscreen、::-webkit-full-screen、::-moz-full-screen) - 移动端(尤其 iOS Safari)对全屏 API 支持有限,部分仅允许
<video></video>元素调用,且行为可能受限
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











