当前位置:首页 > JavaScript

js实现全屏功能

2026-04-07 08:17:34JavaScript

实现全屏功能的JavaScript方法

使用requestFullscreen方法

通过调用元素的requestFullscreen方法实现全屏,兼容现代浏览器:

const element = document.documentElement; // 通常对整个页面全屏
if (element.requestFullscreen) {
    element.requestFullscreen();
} else if (element.webkitRequestFullscreen) { // Safari兼容
    element.webkitRequestFullscreen();
} else if (element.msRequestFullscreen) { // IE兼容
    element.msRequestFullscreen();
}

退出全屏模式

使用document.exitFullscreen方法退出全屏:

if (document.exitFullscreen) {
    document.exitFullscreen();
} else if (document.webkitExitFullscreen) { // Safari兼容
    document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { // IE兼容
    document.msExitFullscreen();
}

检测全屏状态变化

通过监听fullscreenchange事件来响应全屏状态变化:

document.addEventListener('fullscreenchange', handleFullscreenChange);
document.addEventListener('webkitfullscreenchange', handleFullscreenChange); // Safari
document.addEventListener('msfullscreenchange', handleFullscreenChange); // IE

function handleFullscreenChange() {
    const isFullscreen = document.fullscreenElement || 
                        document.webkitFullscreenElement || 
                        document.msFullscreenElement;
    console.log(isFullscreen ? '进入全屏' : '退出全屏');
}

全屏样式调整

在全屏模式下,CSS伪类:fullscreen可定制样式:

:fullscreen {
    background-color: yellow;
}
:-webkit-full-screen {
    background-color: yellow;
}
:-ms-fullscreen {
    background-color: yellow;
}

按钮触发全屏示例

结合HTML按钮控制全屏:

js实现全屏功能

<button id="fullscreenBtn">切换全屏</button>
<script>
    document.getElementById('fullscreenBtn').addEventListener('click', () => {
        if (!document.fullscreenElement) {
            document.documentElement.requestFullscreen();
        } else {
            document.exitFullscreen();
        }
    });
</script>

浏览器兼容性说明

  • 现代浏览器(Chrome/Firefox/Edge)支持标准API
  • Safari需要webkit前缀
  • IE10+需要ms前缀
  • iOS Safari对全屏支持有限,可能需要特殊处理

标签: 全屏功能
分享给朋友:

相关文章

vue实现答题功能

vue实现答题功能

Vue实现答题功能的基本思路 在Vue中实现答题功能通常需要以下几个核心模块:题目数据管理、用户交互处理、答题状态跟踪和结果计算。通过组件化开发可以更好地组织代码结构。 数据结构设计 答题功能的基础…

php实现打印功能

php实现打印功能

PHP 实现打印功能的方法 PHP 可以通过多种方式实现打印功能,具体取决于打印的目标(如打印机、PDF、网页等)和需求(如直接打印、生成打印预览等)。以下是几种常见的实现方式: 使用 JavaSc…

uniapp实现选项卡功能

uniapp实现选项卡功能

实现选项卡功能的基本方法 在uniapp中实现选项卡功能通常需要使用uni-segmented-control组件或自定义样式结合swiper组件。以下是两种常见实现方式: 使用uni-segmen…

php实现回复功能

php实现回复功能

实现回复功能的基本步骤 在PHP中实现回复功能通常涉及数据库操作、表单处理和前后端交互。以下是实现回复功能的关键步骤: 数据库设计 创建包含回复数据的表结构,例如: CREATE TABLE re…

js实现复制功能实现

js实现复制功能实现

使用document.execCommand方法(传统方式,已逐渐被弃用) 传统方式通过document.execCommand('copy')实现复制功能,需先选中文本。以下是一个完整示例: fu…

vue实现分类功能

vue实现分类功能

实现分类功能的基本思路 在Vue中实现分类功能通常涉及数据分组、动态渲染和交互逻辑。核心步骤包括准备分类数据、设计组件结构、实现分类切换逻辑。 数据准备与分组 分类功能的基础是将原始数据按特定规则分…