当前位置:首页 > 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();
}

监听全屏状态变化

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

js实现自动全屏

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 方法退出全屏模式。

js实现自动全屏

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();
}

兼容性处理

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

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
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现类

js实现类

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

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…