当前位置:首页 > 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 事件监听全屏状态变化,注意不同浏览器的前缀差异。

js实现全屏

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 方法退出全屏,需注意浏览器兼容性。

js实现全屏

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 ? '全屏中' : '未全屏');

全屏按钮示例

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

<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实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现防洪

js实现防洪

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

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

vue实现全屏事件

vue实现全屏事件

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