当前位置:首页 > 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实现选项卡

js实现选项卡

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

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounc…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…