当前位置:首页 > JavaScript

js实现全屏

2026-01-12 13:21:53JavaScript

实现全屏的基本方法

使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。

// 触发全屏
function openFullscreen() {
  const elem = document.documentElement; // 获取整个文档元素
  if (elem.requestFullscreen) {
    elem.requestFullscreen();
  } else if (elem.webkitRequestFullscreen) { /* Safari */
    elem.webkitRequestFullscreen();
  } else if (elem.msRequestFullscreen) { /* IE11 */
    elem.msRequestFullscreen();
  }
}

退出全屏模式

通过document.exitFullscreen()方法可退出全屏状态,同样需要考虑浏览器兼容性。

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

检测全屏状态变化

通过监听fullscreenchange事件可以检测全屏状态的切换。不同浏览器的事件名称可能不同。

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

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

针对特定元素全屏

默认会对整个页面全屏,若需指定某个元素(如视频或div容器),只需将目标元素传递给API。

function openElementFullscreen(element) {
  if (element.requestFullscreen) {
    element.requestFullscreen();
  } else if (element.webkitRequestFullscreen) {
    element.webkitRequestFullscreen();
  } else if (element.msRequestFullscreen) {
    element.msRequestFullscreen();
  }
}

// 示例:对ID为"video"的元素全屏
const videoElement = document.getElementById('video');
openElementFullscreen(videoElement);

浏览器兼容性提示

虽然现代浏览器普遍支持全屏API,但需注意:

  • 全屏请求必须由用户交互(如点击事件)触发,不能自动执行。
  • 部分移动端浏览器可能限制全屏功能。
  • 前缀差异需处理(如webkitms)。

样式调整建议

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

js实现全屏

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

以上方法覆盖了全屏功能的常见场景,包括触发、退出、状态检测及兼容性处理。

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

相关文章

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

vue实现全屏滚动

vue实现全屏滚动

Vue 实现全屏滚动的方法 全屏滚动效果可以通过多种方式实现,以下是几种常见的方法: 使用 vue-fullpage.js vue-fullpage.js 是一个基于 fullPage.js 的 V…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令牌…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…