当前位置:首页 > JavaScript

js 实现全屏

2026-03-13 15:28:40JavaScript

全屏 API 的基本使用

现代浏览器提供了 Fullscreen API,允许通过 JavaScript 控制元素进入或退出全屏模式。以下是一个简单的实现方法:

// 进入全屏
function enterFullscreen(element) {
  if (element.requestFullscreen) {
    element.requestFullscreen();
  } else if (element.webkitRequestFullscreen) { // Safari
    element.webkitRequestFullscreen();
  } else if (element.msRequestFullscreen) { // IE11
    element.msRequestFullscreen();
  }
}

// 退出全屏
function exitFullscreen() {
  if (document.exitFullscreen) {
    document.exitFullscreen();
  } else if (document.webkitExitFullscreen) { // Safari
    document.webkitExitFullscreen();
  } else if (document.msExitFullscreen) { // IE11
    document.msExitFullscreen();
  }
}

监听全屏状态变化

可以通过事件监听全屏状态的变化,例如用户按 ESC 键退出全屏时触发:

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

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

检查当前全屏状态

通过 document.fullscreenElement 或浏览器前缀属性检查当前是否处于全屏模式:

function isFullscreen() {
  return !!(
    document.fullscreenElement ||
    document.webkitFullscreenElement ||
    document.msFullscreenElement
  );
}

全屏按钮示例

结合 HTML 按钮实现全屏切换功能:

js  实现全屏

<button id="fullscreen-btn">切换全屏</button>
<script>
  const btn = document.getElementById('fullscreen-btn');
  btn.addEventListener('click', () => {
    if (isFullscreen()) {
      exitFullscreen();
    } else {
      enterFullscreen(document.documentElement); // 整个页面全屏
    }
  });
</script>

注意事项

  • 全屏请求必须由用户交互(如点击事件)触发,否则会被浏览器阻止。
  • 部分移动端浏览器可能不支持全屏 API。
  • 全屏模式下 CSS 可通过 :fullscreen 伪类定制样式。

以上方法覆盖了主流浏览器(Chrome、Firefox、Safari、Edge 和 IE11)的兼容性实现。

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

相关文章

js实现vue

js实现vue

Vue.js 的基本实现方法 在 JavaScript 中实现 Vue.js 的功能,可以通过直接引入 Vue 库或使用现代构建工具(如 Vite 或 Webpack)。以下是几种常见的实现方式:…

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

vue.js实现轮播

vue.js实现轮播

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

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现全屏

js实现全屏

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

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…