当前位置:首页 > JavaScript

js实现自动全屏

2026-03-16 04:27:24JavaScript

使用 requestFullscreen 方法

在 JavaScript 中,可以通过调用 requestFullscreen 方法实现自动全屏。该方法适用于大多数现代浏览器,但不同浏览器可能需要前缀。

const element = document.documentElement; // 全屏整个页面
if (element.requestFullscreen) {
    element.requestFullscreen();
} else if (element.webkitRequestFullscreen) { // Safari
    element.webkitRequestFullscreen();
} else if (element.msRequestFullscreen) { // IE11
    element.msRequestFullscreen();
}

监听全屏状态变化

可以监听全屏状态的变化,以便在全屏模式改变时执行特定操作。

document.addEventListener('fullscreenchange', () => {
    if (document.fullscreenElement) {
        console.log('进入全屏模式');
    } else {
        console.log('退出全屏模式');
    }
});

检查全屏权限

某些浏览器可能会阻止自动全屏,需要用户交互(如点击事件)才能触发全屏。可以通过以下方式检查是否允许全屏。

document.addEventListener('click', () => {
    const element = document.documentElement;
    if (element.requestFullscreen) {
        element.requestFullscreen().catch(err => {
            console.error('全屏请求失败:', err);
        });
    }
});

退出全屏模式

可以通过 exitFullscreen 方法退出全屏模式。

if (document.exitFullscreen) {
    document.exitFullscreen();
} else if (document.webkitExitFullscreen) { // Safari
    document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { // IE11
    document.msExitFullscreen();
}

全屏特定元素

可以指定某个元素(如视频或 div)进入全屏模式。

const videoElement = document.getElementById('video');
if (videoElement.requestFullscreen) {
    videoElement.requestFullscreen();
} else if (videoElement.webkitRequestFullscreen) {
    videoElement.webkitRequestFullscreen();
}

兼容性处理

为了确保代码在多种浏览器中正常工作,建议使用以下兼容性检查。

js实现自动全屏

function toggleFullscreen(element) {
    if (!document.fullscreenElement) {
        if (element.requestFullscreen) {
            element.requestFullscreen();
        } else if (element.webkitRequestFullscreen) {
            element.webkitRequestFullscreen();
        } else if (element.msRequestFullscreen) {
            element.msRequestFullscreen();
        }
    } else {
        if (document.exitFullscreen) {
            document.exitFullscreen();
        } else if (document.webkitExitFullscreen) {
            document.webkitExitFullscreen();
        } else if (document.msExitFullscreen) {
            document.msExitFullscreen();
        }
    }
}

标签: 全屏js
分享给朋友:

相关文章

vue 实现全屏

vue 实现全屏

Vue 实现全屏的方法 使用浏览器原生 API 现代浏览器提供了 requestFullscreen API 来实现全屏功能。在 Vue 中可以通过调用该 API 实现全屏。 // 进入全屏 fun…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…