当前位置:首页 > 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()方法可退出全屏状态,同样需要考虑浏览器兼容性。

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。

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实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div c…

vue实现全屏

vue实现全屏

Vue 实现全屏功能 在 Vue 中实现全屏功能可以通过浏览器提供的 Fullscreen API 来完成。以下是具体的实现方法: 使用 Fullscreen API 浏览器提供了 requestF…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…