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() {});
相关推荐
火云洞红孩儿1 天前
告别界面孤岛:PyMe如何用一站式流程重塑Python GUI开发?
开发语言·python
码路星河1 天前
基于 Vue + VueUse 的 WebSocket 优雅封装:打造高可用的全局连接管理方案
javascript·vue.js·websocket
叫我辉哥e11 天前
新手进阶Python:办公看板集成ERP跨系统同步+自动备份+AI异常复盘
开发语言·人工智能·python
摘星编程1 天前
React Native + OpenHarmony:Accelerometer计步器代码
javascript·react native·react.js
晚风吹长发1 天前
初步了解Linux中的命名管道及简单应用和简单日志
linux·运维·服务器·开发语言·数据结构·c++·算法
敲敲了个代码1 天前
如何优化批量图片上传?队列机制+分片处理+断点续传三连击!(附源码)
前端·javascript·学习·职场和发展·node.js
C++ 老炮儿的技术栈1 天前
不调用C++/C的字符串库函数,编写函数strcpy
c语言·开发语言·c++·windows·git·postman·visual studio
布局呆星1 天前
闭包与装饰器
开发语言·python
fyzy1 天前
C++写后端实现,实现前后端分离
开发语言·c++
huohuopro1 天前
Mybatis的七种传参方式
java·开发语言·mybatis