js 实现页面全屏功能并监听屏幕变化requestFullscreen

代码如果对大家有帮助,大家记得点赞+评论!!!
js 中提供有相应的全屏/退出全屏方法,requestFullscreen() 全屏,exitFullscreen() 退出全屏

javascript 复制代码
 - fullscreenElement,只读属性 Document.fullscreenElement 返回当前页面中以全屏模式呈现的Element,如果
 	当前页面未使用全屏模式,则返回 null。

	尽管这个属性是只读的,但如果修改它,即使在严格模式下也不会抛出错误;它的 setter 方法是空操作将被
	忽略。
	
 - requestFullscreen,是一个方法,可以让你的网页或者视频在浏览器全屏显示。这个方法可以应用于任何DOM元素
 	,但最常见的是应用于video元素。
   
   注意:requestFullscreen()方法将请求进入全屏模式,但是它不会自动进入全屏模式,它需要用户的明确同意。
   如果用户同意了,浏览器会进入全屏模式,并且此时可以通过document.fullscreenElement属性获取当前处于全
   屏模式的元素。

 - exitFullscreen,方法请求将当前在全屏模式下呈现的文档元素退出全屏模式,恢复屏幕的先前状态。这通常会
   逆转先前调用Element.requestFullscreen() 的效果。

js 实现页面全屏功能

javascript 复制代码
//全屏
const toFullScreen =()=> {
    // DOM对象的一个属性,会判断当前是否是全屏
    const fullscreenModule = document.querySelector('.testFull');
    let full = document.fullscreenElement;

    if (!full) {
      // 实现全屏模式
      fullscreenModule.requestFullscreen();
    } else {
      // 变为不是全屏模式->退出全屏模式
      document.exitFullscreen();
    }
}
javascript 复制代码
 //退出全屏
const exitFullScreen =()=> {
    let full = document.fullscreenElement;
	//判断是否全屏,如果当前是全屏状态,则退出全屏
    if (full) {
      document.exitFullscreen();
    }
  }

js 实现监听屏幕变化

javascript 复制代码
//监听屏幕变化事件
 window.addEventListener('fullscreenchange', function() {
 	  //document.fullscreenElement
 	  //存在,代表当前页面处理全屏状态
 	  //不存在,代表当前页面已经退出全屏状态
      if (!document.fullscreenElement) {
        // 执行退出全屏后的操作

      }
});

//销毁监听事件
window.removeEventListener('fullscreenchange', function() {});
相关推荐
雪芽蓝域zzs33 分钟前
第十六节:递归组件实现无限层级折叠侧边栏菜单
开发语言·javascript·ecmascript
神明不懂浪漫1 小时前
【第二章】库、表、增删改查操作
开发语言·数据库·经验分享·笔记
传奇开心果编程1 小时前
【Rust入门知识点学与练】第11课:HashMap 键值对集合
开发语言·学习·rust
yume_sibai1 小时前
03-Rust 函数式编程特性(闭包 + Iterator + Option/Result + 链式调用)
开发语言·后端·rust
奈斯先生Vector2 小时前
AIGC 视频生成实战:用 Kling Video 拆解文生视频、图生视频与完整工作流
开发语言·人工智能·windows·python·aigc·音视频
小玮看世界2 小时前
[Python]螺旋遍历 vs 最短路径:方向控制类算法的“同源异流”
开发语言·python·算法
BillKu2 小时前
vue3 字符串排序 localeCompare,确保排序为 “B01“, “B10“, “B2“
前端·javascript·vue.js
OPEN-F2 小时前
ROS2系列教程:tf2坐标变换详解(C++/Python)
开发语言·c++·python
然我2 小时前
从 Service 到生命周期:Agent Runtime 的插件内核
前端·javascript·agent
XR1234567882 小时前
医院基础网络改造升级选型深度解析
开发语言·网络·php