IT评测·应用市场-qidao123.com

标题: Vue使用ScreenFull插件实现全屏切换 [打印本页]

作者: 千千梦丶琪    时间: 2025-3-12 17:50
标题: Vue使用ScreenFull插件实现全屏切换
官网链接
1. 安装

  1. pnpm add screenfull
复制代码
2. 使用

  1. <template>
  2.   <!-- 如果浏览器不支持全屏,则不显示这个图标 -->
  3.   <div class="screen-full" @click="changeScreenFull()" v-if="isScreenEnable">
  4.     <!-- 全屏和非全屏的图标 -->
  5.     <SvgIcon
  6.       :name="isScreenFull ? 'fullscreen-exit' : 'fullscreen'"
  7.       color="#515151"
  8.       width="30px"
  9.       height="30px"
  10.     ></SvgIcon>
  11.   </div>
  12. </template>
  13. <script setup lang="ts">
  14. import { ref, onMounted, onUnmounted } from 'vue'
  15. import { ElMessage } from 'element-plus'
  16. import screenfull from 'screenfull'
  17. // 是否支持全屏
  18. const isScreenEnable = ref(screenfull.isEnabled)
  19. // 用于控制图片状态
  20. const isScreenFull = ref(false)
  21. // 切换全屏
  22. const changeScreenFull = () => {
  23.   // 检查全屏功能是否可用
  24.   if (!isScreenEnable.value) {
  25.     ElMessage.error('浏览器不支持全屏')
  26.     return
  27.   }
  28.   // 根据当前全屏状态进行切换
  29.   if (screenfull.isFullscreen) {
  30.     screenfull.exit()
  31.     isScreenFull.value = false
  32.   } else {
  33.     screenfull.toggle()
  34.     isScreenFull.value = true
  35.   }
  36. }
  37. // 监听全屏状态, 当全屏状态改变时, 会触发change事件
  38. onMounted(() => {
  39.   screenfull.on('change', () => {})
  40. })
  41. // 停止监听
  42. onUnmounted(() => {
  43.   screenfull.off('change', () => {})
  44. })
  45. </script>
复制代码
3. 方法


  1. import screenfull from 'screenfull'
复制代码

  1. // 返回值是boolean类型
  2. screenfull.isEnabled
复制代码

  1. screenfull.toggle()
复制代码

  1. screenfull.exit()
复制代码

  1. screenfull.on('change', () => {})
复制代码

  1. screenfull.off('change', () => {})
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4