当前位置:首页 > JavaScript

js实现全屏

2026-01-12 13:21:53JavaScript

实现全屏的基本方法

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

// 触发全屏
function openFullscreen() {
  const elem = document.documentElement; // 获取整个文档元素
  if (elem.requestFullscreen) {
    elem.requestFullscreen();
  } else if (elem.webkitRequestFullscreen) { /* Safari */
    elem.webkitRequestFullscreen();
  } else if (elem.msRequestFullscreen) { /* IE11 */
    elem.msRequestFullscreen();
  }
}

退出全屏模式

通过document.exitFullscreen()方法可退出全屏状态,同样需要考虑浏览器兼容性。

js实现全屏

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

检测全屏状态变化

通过监听fullscreenchange事件可以检测全屏状态的切换。不同浏览器的事件名称可能不同。

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

function handleFullscreenChange() {
  const isFullscreen = document.fullscreenElement || 
                      document.webkitFullscreenElement || 
                      document.msFullscreenElement;
  console.log(isFullscreen ? '进入全屏' : '退出全屏');
}

针对特定元素全屏

默认会对整个页面全屏,若需指定某个元素(如视频或div容器),只需将目标元素传递给API。

js实现全屏

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

// 示例:对ID为"video"的元素全屏
const videoElement = document.getElementById('video');
openElementFullscreen(videoElement);

浏览器兼容性提示

虽然现代浏览器普遍支持全屏API,但需注意:

  • 全屏请求必须由用户交互(如点击事件)触发,不能自动执行。
  • 部分移动端浏览器可能限制全屏功能。
  • 前缀差异需处理(如webkitms)。

样式调整建议

全屏模式下,CSS可通过:fullscreen伪类定制样式:

:fullscreen {
  background-color: #000;
}
:-webkit-full-screen {
  background-color: #000;
}
:-ms-fullscreen {
  background-color: #000;
}

以上方法覆盖了全屏功能的常见场景,包括触发、退出、状态检测及兼容性处理。

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

相关文章

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…

js实现下拉刷新

js实现下拉刷新

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

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…