当前位置:首页 > JavaScript

js实现全屏

2026-04-03 18:14:37JavaScript

使用 requestFullscreen 方法

通过调用元素的 requestFullscreen 方法实现全屏。该方法兼容现代浏览器,但不同浏览器可能需要带前缀的版本(如 webkitRequestFullscreen)。

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

监听全屏状态变化

通过 fullscreenchange 事件监听全屏状态变化,注意不同浏览器的前缀差异。

document.addEventListener('fullscreenchange', handleFullscreenChange);
document.addEventListener('webkitfullscreenchange', handleFullscreenChange); // Safari/Chrome旧版
document.addEventListener('msfullscreenchange', handleFullscreenChange); // IE/Edge

function handleFullscreenChange() {
  if (document.fullscreenElement || document.webkitFullscreenElement || document.msFullscreenElement) {
    console.log('已进入全屏');
  } else {
    console.log('已退出全屏');
  }
}

退出全屏

使用 exitFullscreen 方法退出全屏,需注意浏览器兼容性。

if (document.exitFullscreen) {
  document.exitFullscreen();
} else if (document.webkitExitFullscreen) { // Safari/Chrome旧版
  document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { // IE/Edge
  document.msExitFullscreen();
}

检查当前全屏状态

通过 fullscreenElement 属性判断当前是否有元素处于全屏状态。

const isFullscreen = document.fullscreenElement 
  || document.webkitFullscreenElement 
  || document.msFullscreenElement;
console.log(isFullscreen ? '全屏中' : '未全屏');

全屏按钮示例

结合按钮触发全屏和退出操作,兼容主流浏览器。

js实现全屏

<button id="fullscreen-btn">切换全屏</button>
<script>
  const btn = document.getElementById('fullscreen-btn');
  btn.addEventListener('click', () => {
    const isFullscreen = document.fullscreenElement || document.webkitFullscreenElement;
    if (!isFullscreen) {
      const element = document.documentElement;
      if (element.requestFullscreen) element.requestFullscreen();
      else if (element.webkitRequestFullscreen) element.webkitRequestFullscreen();
    } else {
      if (document.exitFullscreen) document.exitFullscreen();
      else if (document.webkitExitFullscreen) document.webkitExitFullscreen();
    }
  });
</script>

注意事项

  • 用户交互触发:大多数浏览器要求全屏操作必须由用户手势(如点击)触发,否则会报错。
  • 样式调整:全屏模式下可通过 CSS :fullscreen 伪类自定义样式。
  • 移动端兼容性:部分移动端浏览器可能限制全屏功能,需测试目标平台。

通过以上方法可实现完整的全屏功能,覆盖主流浏览器兼容性需求。

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

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js计算器的实现

js计算器的实现

实现基础结构 HTML部分需要创建计算器的基本框架,包含显示区域和按钮。使用<div>容器包裹整个计算器,内部设置一个显示屏和多个按钮。 <div class="calculato…