当前位置:首页 > JavaScript

js实现退出全屏

2026-02-03 05:36:10JavaScript

退出全屏的 JavaScript 实现方法

使用 document.exitFullscreen() 方法可以退出全屏模式。该方法适用于现代浏览器,但需注意浏览器兼容性和前缀差异。

if (document.exitFullscreen) {
  document.exitFullscreen();
} else if (document.webkitExitFullscreen) { // Chrome, Safari, Opera
  document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { // IE/Edge
  document.msExitFullscreen();
} else if (document.mozCancelFullScreen) { // Firefox
  document.mozCancelFullScreen();
}

检测全屏状态变化

通过监听 fullscreenchange 事件可以检测全屏状态的变化。不同浏览器可能需要使用带前缀的事件名称。

document.addEventListener('fullscreenchange', handleFullscreenChange);
document.addEventListener('webkitfullscreenchange', handleFullscreenChange);
document.addEventListener('mozfullscreenchange', handleFullscreenChange);
document.addEventListener('MSFullscreenChange', handleFullscreenChange);

function handleFullscreenChange() {
  if (!document.fullscreenElement && 
      !document.webkitFullscreenElement && 
      !document.mozFullScreenElement && 
      !document.msFullscreenElement) {
    console.log('已退出全屏模式');
  }
}

获取当前全屏元素

使用 document.fullscreenElement 或带前缀的属性可以获取当前处于全屏模式的元素。

const fullscreenElement = document.fullscreenElement || 
                         document.webkitFullscreenElement || 
                         document.mozFullScreenElement || 
                         document.msFullscreenElement;

兼容性注意事项

不同浏览器对全屏API的实现存在差异,建议在使用前检查API的可用性。现代浏览器大多已支持标准API,但仍需考虑旧版浏览器的兼容性。

const exitFullscreen = document.exitFullscreen || 
                      document.webkitExitFullscreen || 
                      document.mozCancelFullScreen || 
                      document.msExitFullscreen;

if (exitFullscreen) {
  exitFullscreen.call(document);
} else {
  console.error('当前浏览器不支持全屏API');
}

完整示例代码

以下是一个完整的退出全屏功能的实现示例:

js实现退出全屏

function exitFullScreen() {
  const exitFS = document.exitFullscreen || 
                document.webkitExitFullscreen || 
                document.mozCancelFullScreen || 
                document.msExitFullscreen;

  if (exitFS) {
    exitFS.call(document);
  } else {
    alert('您的浏览器不支持全屏功能');
  }
}

// 绑定按钮点击事件
document.getElementById('exitFullscreenBtn').addEventListener('click', exitFullScreen);

注意事项

  • 退出全屏操作通常需要由用户交互触发,如点击事件
  • 某些浏览器可能在安全限制下阻止程序化退出全屏
  • 移动设备上的全屏行为可能与桌面浏览器不同
  • 建议在使用前测试目标浏览器的兼容性

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

相关文章

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js实现vr

js实现vr

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

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…