欢迎加QQ交流:
2
0
2
3

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>

 

posted @   常安·  阅读(499)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示