当前位置:首页 > JavaScript

js 实现全屏

2026-04-05 09:52:11JavaScript

实现全屏的基本方法

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

js  实现全屏

// 获取需要全屏的元素
const element = document.documentElement; // 整个页面

// 标准方法
if (element.requestFullscreen) {
  element.requestFullscreen();
} 
// 兼容WebKit浏览器(如Safari)
else if (element.webkitRequestFullscreen) {
  element.webkitRequestFullscreen();
}
// 兼容Firefox
else if (element.mozRequestFullScreen) {
  element.mozRequestFullScreen();
}
// 兼容IE/Edge
else if (element.msRequestFullscreen) {
  element.msRequestFullscreen();
}

退出全屏的方法

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

js  实现全屏

if (document.exitFullscreen) {
  document.exitFullscreen();
} else if (document.webkitExitFullscreen) {
  document.webkitExitFullscreen();
} else if (document.mozCancelFullScreen) {
  document.mozCancelFullScreen();
} else if (document.msExitFullscreen) {
  document.msExitFullscreen();
}

检测全屏状态

可以通过监听fullscreenchange事件来检测全屏状态的变化。

document.addEventListener('fullscreenchange', handleFullscreenChange);
document.addEventListener('webkitfullscreenchange', handleFullscreenChange);
document.addEventListener('mozfullscreenchange', handleFullscreenChange);
document.addEventListener('MSFullscreenChange', handleFullscreenChange);

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

全屏样式调整

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

:fullscreen {
  background-color: yellow;
}

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

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

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

注意事项

  • 全屏API必须在用户交互事件(如点击)中触发,否则会被浏览器阻止。
  • 某些浏览器可能限制全屏功能的使用,需遵循浏览器安全策略。
  • 移动端浏览器对全屏的支持可能存在差异,建议在实际设备上测试。

以上方法覆盖了主流浏览器的全屏实现方案,可根据实际需求调整代码逻辑。

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

相关文章

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

vue实现全屏滚动

vue实现全屏滚动

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

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

链表实现js

链表实现js

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