js 实现全屏
全屏 API 的基本使用
现代浏览器提供了 Fullscreen API,允许通过 JavaScript 控制元素进入或退出全屏模式。以下是一个简单的实现方法:
// 进入全屏
function enterFullscreen(element) {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.webkitRequestFullscreen) { // Safari
element.webkitRequestFullscreen();
} else if (element.msRequestFullscreen) { // IE11
element.msRequestFullscreen();
}
}
// 退出全屏
function exitFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) { // Safari
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { // IE11
document.msExitFullscreen();
}
}
监听全屏状态变化
可以通过事件监听全屏状态的变化,例如用户按 ESC 键退出全屏时触发:
document.addEventListener('fullscreenchange', handleFullscreenChange);
document.addEventListener('webkitfullscreenchange', handleFullscreenChange); // Safari
document.addEventListener('msfullscreenchange', handleFullscreenChange); // IE
function handleFullscreenChange() {
if (document.fullscreenElement ||
document.webkitFullscreenElement ||
document.msFullscreenElement) {
console.log('已进入全屏');
} else {
console.log('已退出全屏');
}
}
检查当前全屏状态
通过 document.fullscreenElement 或浏览器前缀属性检查当前是否处于全屏模式:
function isFullscreen() {
return !!(
document.fullscreenElement ||
document.webkitFullscreenElement ||
document.msFullscreenElement
);
}
全屏按钮示例
结合 HTML 按钮实现全屏切换功能:

<button id="fullscreen-btn">切换全屏</button>
<script>
const btn = document.getElementById('fullscreen-btn');
btn.addEventListener('click', () => {
if (isFullscreen()) {
exitFullscreen();
} else {
enterFullscreen(document.documentElement); // 整个页面全屏
}
});
</script>
注意事项
- 全屏请求必须由用户交互(如点击事件)触发,否则会被浏览器阻止。
- 部分移动端浏览器可能不支持全屏 API。
- 全屏模式下 CSS 可通过
:fullscreen伪类定制样式。
以上方法覆盖了主流浏览器(Chrome、Firefox、Safari、Edge 和 IE11)的兼容性实现。






