浏览器页面全屏完美解决

浏览器页面全屏完美解决

当通过点击事件调取全屏的时候,键盘事件退出全屏、监视点击事件改变图标的函数不会触发、你又得加一个监听键盘事件的函数、用键盘事件又有两个按键会触发全屏。当想用监听浏览器视口变化时候、打开控制台也会触发、放大缩小视口也会触发、里面还会遇到一个死循环。总之就是麻烦!

​ 使用插件完美解决。它把非全屏事件 全部可能性 都包含了 直接返回false 只要是全屏了 就返回true

下载引入screenfull 插件

npm install screenfull --save

//在调用全屏功能的组件中引入
import screenfull from 'screenfull' 
//定义一个 方法 图标的单独的点击事件

//全屏
const toggleFullscreen = () => {

  screenfull.toggle();  //直接调用全屏方法  这里就可以直接用这个点击事件简单的放大缩小
};
onMounted(() => {
  window.onresize = () => {
	   showicon = screenfull.isFullscreen  //isScreenFull这个是我用来控制图标改变的     true就用xxx  flase就用yyy
     //screenfull.isFullscreen 自带的属性调用
	 }
});
//放在这个钩子里面就可以监视窗口变化了
//属性
screenfull.isFullscreen; // 布尔值——  判断当前页面是否 全屏
screenfull.isEnabled; // 布尔值——当前浏览器是否 支持全屏

//方法
screenfull.request(); // 全屏
screenfull.exit(); // 退出全屏
screenfull.toggle(); // 全屏切换


指定元素全屏


let myImg = ref() //获取DOM

    <img
      ref="myImg"
      width="100"
      src="https://tenfei02.cfp.cn/creative/vcg/veer/1600water/veer-385736296.jpg"
      alt=""
    />
    <i class="el-icon-data-line" @click="toggleFullScreen">点击全屏</i>


toggleFullScreen() {
  if (screenfull.isEnabled) { //判断时候支持全屏
    screenfull.toggle(myImg);  //切换全屏 用ref获取dom
  }
},
posted @   一条瓜  阅读(364)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示