浏览器页面全屏完美解决
浏览器页面全屏完美解决
当通过点击事件调取全屏的时候,键盘事件退出全屏、监视点击事件改变图标的函数不会触发、你又得加一个监听键盘事件的函数、用键盘事件又有两个按键会触发全屏。当想用监听浏览器视口变化时候、打开控制台也会触发、放大缩小视口也会触发、里面还会遇到一个死循环。总之就是麻烦!
使用插件完美解决。它把非全屏事件 全部可能性 都包含了 直接返回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
}
},
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix