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() {});
相关推荐
dialect_3 小时前
KMP算法
开发语言·c++·算法
jktantan3 小时前
Vue keep-alive 切标签后滚动位置回顶?因为 onDeactivated 里读到的 scrollTop 是 0
前端·javascript·vue.js
总要学点什么3 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
前端精髓4 小时前
调用openrouter的免费API模型
java·前端·javascript
开开心心_Every5 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c5 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
吴卫斌5 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
超级架构师6 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
叼烟扛炮7 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
LMT流氓兔8 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节