当前位置:首页 > JavaScript

js实现网页全屏

2026-03-01 06:09:58JavaScript

实现网页全屏的JavaScript方法

使用JavaScript实现网页全屏功能可以通过Fullscreen API完成。该API提供了进入和退出全屏模式的方法。

进入全屏模式

调用requestFullscreen方法可以让特定元素进入全屏模式。通常应用于整个页面或某个容器元素。

function enterFullscreen(element) {
  if (element.requestFullscreen) {
    element.requestFullscreen();
  } else if (element.webkitRequestFullscreen) { /* Safari */
    element.webkitRequestFullscreen();
  } else if (element.msRequestFullscreen) { /* IE11 */
    element.msRequestFullscreen();
  }
}

// 全屏整个页面
enterFullscreen(document.documentElement);

// 全屏某个元素
const container = document.getElementById('fullscreen-container');
enterFullscreen(container);

退出全屏模式

使用exitFullscreen方法可以退出全屏模式。

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

exitFullscreen();

检测全屏状态

通过document.fullscreenElement可以检测当前是否处于全屏状态。

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

if (isFullscreen()) {
  console.log('Currently in fullscreen mode');
}

全屏事件监听

可以监听全屏状态变化事件。

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

function handleFullscreenChange() {
  if (isFullscreen()) {
    console.log('Entered fullscreen mode');
  } else {
    console.log('Exited fullscreen mode');
  }
}

样式调整

全屏模式下可能需要调整CSS样式。

:-webkit-full-screen {
  background-color: white;
}

:-moz-full-screen {
  background-color: white;
}

:-ms-fullscreen {
  background-color: white;
}

:fullscreen {
  background-color: white;
}

浏览器兼容性注意事项

不同浏览器可能需要不同的前缀:

  • 标准:requestFullscreen
  • Safari/Chrome旧版:webkitRequestFullscreen
  • IE11:msRequestFullscreen

建议在调用API前先检测方法是否存在。

js实现网页全屏

完整示例代码

<!DOCTYPE html>
<html>
<head>
  <style>
    #fullscreen-container {
      width: 100%;
      height: 100vh;
      background-color: #f0f0f0;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    button {
      padding: 10px 20px;
      font-size: 16px;
    }
  </style>
</head>
<body>
  <div id="fullscreen-container">
    <button id="toggle-fullscreen">Toggle Fullscreen</button>
  </div>

  <script>
    const toggleBtn = document.getElementById('toggle-fullscreen');
    const container = document.getElementById('fullscreen-container');

    toggleBtn.addEventListener('click', () => {
      if (!document.fullscreenElement) {
        enterFullscreen(container);
      } else {
        exitFullscreen();
      }
    });

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

    function exitFullscreen() {
      if (document.exitFullscreen) {
        document.exitFullscreen();
      } else if (document.webkitExitFullscreen) {
        document.webkitExitFullscreen();
      } else if (document.msExitFullscreen) {
        document.msExitFullscreen();
      }
    }

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

    function handleFullscreenChange() {
      console.log('Fullscreen state changed');
    }
  </script>
</body>
</html>

标签: 全屏网页
分享给朋友:

相关文章

js实现全屏

js实现全屏

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

vue实现全屏事件

vue实现全屏事件

Vue 实现全屏事件的方法 在 Vue 中实现全屏功能可以通过浏览器提供的 Fullscreen API 来实现。以下是几种常见的实现方式: 使用原生 Fullscreen API 通过调用 Ele…

Vue实现网页全屏

Vue实现网页全屏

Vue实现网页全屏的方法 在Vue中实现网页全屏功能可以通过浏览器的全屏API来实现。以下是几种常见的实现方式: 使用原生JavaScript全屏API 浏览器提供了requestFullscree…

vue页面实现全屏功能

vue页面实现全屏功能

实现全屏功能的方法 在Vue中实现全屏功能可以通过浏览器提供的Fullscreen API完成。以下是几种常见的实现方式: 使用原生Fullscreen API // 进入全屏 function e…

vue实现全屏遮罩层

vue实现全屏遮罩层

实现全屏遮罩层的方法 在Vue中实现全屏遮罩层可以通过CSS和Vue组件结合完成。以下是具体实现方式: 创建遮罩层组件 创建一个名为Overlay.vue的组件: <template>…

vue实现网页预览功能

vue实现网页预览功能

实现网页预览功能的方案 在Vue中实现网页预览功能可以通过多种方式完成,包括使用iframe、第三方库或后端服务生成缩略图。以下是几种常见的方法: 使用iframe嵌入目标网页 通过iframe直接…