当前位置:首页 > JavaScript

js实现全屏显示

2026-03-01 02:20:23JavaScript

使用全屏API实现全屏显示

现代浏览器提供了全屏API,允许以编程方式控制全屏显示。以下是通过JavaScript实现全屏功能的方法:

进入全屏模式

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

// 示例:使整个文档进入全屏
requestFullscreen(document.documentElement);

退出全屏模式

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

检测全屏状态变化

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

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('Entered fullscreen');
  } else {
    console.log('Exited fullscreen');
  }
}

检查当前全屏状态

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

全屏样式调整

在全屏模式下,CSS伪类可以用于调整样式:

js实现全屏显示

:fullscreen {
  background-color: yellow;
}

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

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

注意事项

  • 全屏API必须在用户交互事件(如点击)中触发,不能自动调用
  • 不同浏览器可能需要不同的前缀(webkit, ms)
  • 全屏请求可能会被浏览器阻止,需要处理可能的拒绝情况
  • 移动设备上的全屏行为可能与桌面设备不同

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

相关文章

js实现瀑布流

js实现瀑布流

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

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

vue实现全屏滚动

vue实现全屏滚动

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

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

vue实现全屏事件

vue实现全屏事件

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