pc端页面全屏 解决 esc 取消全屏 点击 失效bug vue3 vue2 适用
先看效果图:
附上代码:
<template>
<button @click="fullScreen"> {{ fullscreen ? '取消全屏' : '全屏' }} </button>
</template>
<script setup>
import { ElMessage } from 'element-plus'
import { ref, onMounted } from 'vue'
let router = useRouter()
const fullscreen = ref(false)
let fullScreen = () => {
if (fullscreen.value) {
const doc = document
const exitFullScreen =
doc.exitFullscreen ||
doc.webkitCancelFullScreen ||
doc.mozCancelFullScreen ||
doc.msExitFullscreen
if (exitFullScreen) {
exitFullScreen.call(doc)
}
} else {
const htmlDOM = document.documentElement
const enterFullScreen =
htmlDOM.requestFullscreen ||
htmlDOM.webkitRequestFullScreen ||
htmlDOM.mozRequestFullScreen ||
htmlDOM.msRequestFullscreen
if (enterFullScreen) {
enterFullScreen.call(htmlDOM)
} else {
this.$message({
type: 'warning',
message: '您的浏览器不支持全屏浏览,请升级或更换浏览器!'
})
}
}
}
onMounted(() => {
document.addEventListener("fullscreenchange", () => {
fullscreen.value = !fullscreen.value
})
document.addEventListener("mozfullscreenchange", () => {
fullscreen.value = !fullscreen.value
})
document.addEventListener("webkitfullscreenchange", () => {
fullscreen.value = !fullscreen.value
})
document.addEventListener("msfullscreenchange", () => {
fullscreen.value = !fullscreen.value
})
})
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本