当前位置:首页 > JavaScript

js实现全屏

2026-02-28 17:48:17JavaScript

js实现全屏的方法

在JavaScript中,可以通过Element.requestFullscreen()方法实现全屏功能。现代浏览器普遍支持此API,但不同浏览器可能需要添加前缀。

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

退出全屏的方法

使用document.exitFullscreen()可以退出全屏模式,同样需要考虑浏览器兼容性。

js实现全屏

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

检测全屏状态

通过document.fullscreenElement可以判断当前是否有元素处于全屏状态。

// 检查是否全屏
function isFullscreen() {
  return document.fullscreenElement || 
         document.webkitFullscreenElement || 
         document.msFullscreenElement;
}

全屏事件监听

可以监听fullscreenchange事件来响应全屏状态变化。

js实现全屏

// 添加全屏状态变化监听
document.addEventListener('fullscreenchange', handleFullscreenChange);
document.addEventListener('webkitfullscreenchange', handleFullscreenChange);
document.addEventListener('msfullscreenchange', handleFullscreenChange);

function handleFullscreenChange() {
  if (isFullscreen()) {
    console.log('进入全屏');
  } else {
    console.log('退出全屏');
  }
}

样式调整建议

全屏模式下,CSS可以通过:fullscreen伪类为全屏元素添加特殊样式。

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

注意事项

某些浏览器要求全屏操作必须由用户手势触发(如点击事件),不能直接通过脚本自动执行。iOS Safari对全屏API的支持有限,可能需要使用特定于WebKit的API。

全屏API通常只能作用于单个元素,常见做法是将整个document.documentElement作为全屏目标。在移动设备上,全屏行为可能与桌面浏览器不同,建议进行真机测试。

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

相关文章

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

js实现图片轮播

js实现图片轮播

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

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现正交

js实现正交

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

js 实现日历

js 实现日历

实现日历的基本思路 日历的核心功能是展示日期,并允许用户进行日期选择或导航。JavaScript 可以动态生成日历的 HTML 结构,并处理用户交互逻辑。 基础日历结构 日历通常包含头部(显示月份和…

js实现放大缩小

js实现放大缩小

使用 CSS transform 实现缩放 通过修改元素的 transform 属性实现平滑缩放效果。CSS 的 scale() 函数可以轻松调整元素大小。 const element = docu…