Fullscreen API用于控制网页元素全屏,需处理浏览器兼容性。通过requestFullscreen()进入全屏,exitFullscreen()退出,监听fullscreenchange事件获取状态变化,并可用:fullscreen伪类优化样式。

在html5中,Fullscreen API提供了一套标准方法来让网页元素进入全屏模式,提升用户体验,常用于视频播放、游戏或演示页面。通过javaScript调用相关API,可以轻松控制全屏的进入与退出,并监听状态变化。
请求进入全屏模式
要让某个元素(如<div>或<video>)进入全屏,使用requestFullscreen()方法。注意不同浏览器可能存在前缀差异,需做兼容处理。
示例代码:
const element = document.getElementById('fullscreen-element'); function openFullscreen() { if (element.requestFullscreen) { element.requestFullscreen(); } else if (element.mozRequestFullScreen) { // Firefox element.mozRequestFullScreen(); } else if (element.webkitRequestFullscreen) { // Chrome, safari and Opera element.webkitRequestFullscreen(); } else if (element.msRequestFullscreen) { // IE/edge element.msRequestFullscreen(); } }
退出全屏模式
使用document.exitFullscreen()可退出当前全屏状态。同样需要兼容不同浏览器前缀。
立即学习“前端免费学习笔记(深入)”;
function closeFullscreen() { if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } }
监听全屏状态变化
通过监听fullscreenchange事件,可以获知全屏状态是否发生变化,从而更新ui(例如切换按钮文字)。
document.addEventListener('fullscreenchange', () => { if (document.fullscreenElement) { console.log('已进入全屏'); } else { console.log('已退出全屏'); } });
该事件也存在带前缀的版本(如webkitfullscreenchange),建议统一监听多个变体以确保兼容性。
检测当前是否支持全屏
在调用API前,最好先判断当前环境是否支持全屏功能,避免脚本报错。
function isFullscreenSupported() { return !!(document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled); }
只有在返回true时才应启用全屏操作按钮。
基本上就这些。掌握Fullscreen API的关键在于处理浏览器兼容性和状态反馈,合理封装函数能提高代码复用性。实际应用中建议结合css调整全屏时的样式(如使用:fullscreen伪类),实现更自然的视觉过渡。


