JavaScript全屏API是浏览器原生接口,用于让元素真正进入系统级全屏状态;需通过用户手势调用requestFullscreen()方法,兼容处理前缀,监听fullscreenchange事件并用document.exitFullscreen()退出。

JavaScript 全屏 API 是一套浏览器原生提供的接口,允许网页中的某个元素(比如视频容器、画布或整个页面)临时占据用户整个屏幕,隐藏浏览器 UI(地址栏、工具栏等),常用于视频播放、游戏、数据可视化等场景。它不是 CSS 的 width: 100vw; height: 100vh 模拟,而是真正触发系统级全屏状态。
如何让元素进入全屏模式?
核心是调用目标元素的 requestFullscreen() 方法。该方法返回一个 Promise,在成功进入全屏时 resolve,失败时 reject(比如用户拒绝、不支持、或非用户手势触发)。
必须由用户操作(如点击、按键)触发,不能在页面加载或定时器中自动调用,否则会被浏览器静默阻止 推荐检查并使用带前缀的旧版方法(如 webkitRequestFullscreen、msRequestFullscreen),但现代浏览器基本都支持标准 requestFullscreen 示例代码:
const elem = document.getElementById('my-video');function launchFullscreen() { if (elem.requestFullscreen) { elem.requestFullscreen(); } else if (elem.webkitRequestFullscreen) { elem.webkitRequestFullscreen(); } else if (elem.msRequestFullscreen) { elem.msRequestFullscreen(); }}// 绑定到按钮点击document.getElementById('fs-btn').addEventListener('click', launchFullscreen);
如何退出全屏模式?
调用全局 document.exitFullscreen() 方法即可退出当前全屏状态。同样需注意兼容性写法,并建议加 try-catch 防止报错(例如当前未处于全屏时调用会抛异常)。
退出后浏览器会恢复原有 UI,页面布局通常不受影响(除非你用 CSS 做了全屏适配) 兼容写法示例:
function exitFullscreen() { if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); }}
如何监听全屏状态变化?
通过监听 fullscreenchange 事件,可实时感知是否进入/退出全屏。注意事件触发在 document 上,且需通过 document.fullscreenElement 判断当前哪个元素处于全屏(为 null 表示未全屏)。
立即学习“Java免费学习笔记(深入)”;
document.fullscreenElement 返回当前全屏的 DOM 元素,或 null 也可用 document.fullscreenEnabled 判断浏览器是否支持全屏 API 常用响应逻辑示例:
document.addEventListener('fullscreenchange', () => { if (document.fullscreenElement) { console.log('已进入全屏:', document.fullscreenElement.id); } else { console.log('已退出全屏'); }});
常见注意事项与限制
全屏 API 受安全策略严格约束,实际使用中容易踩坑:
iframe 默认无法全屏,需添加 allow="fullscreen" 属性(如 ) 移动端(尤其 iOS Safari)支持有限,部分版本仅允许 元素原生全屏,不支持自定义元素 调用失败时 Promise 会 reject,建议用 .catch(e => console.warn('全屏失败:', e)) 捕获原因(如 NotAllowedError 表示非用户手势触发) 退出全屏后,焦点可能丢失,必要时手动恢复(如 elem.focus())
基本上就这些。用好全屏 API 关键是尊重用户意图、做好降级处理、及时响应状态变化。不复杂但容易忽略权限和触发时机——只要确保是用户点出来的,基本就能稳稳跑起来。
以上就是javascript全屏API是什么_如何让元素进入或退出全屏模式?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1543118.html
微信扫一扫
支付宝扫一扫