当前位置: 首页 > article >正文

Vue使用ScreenFull插件实现全屏切换

官网链接

1. 安装

pnpm add screenfull

2. 使用

<template>
  <!-- 如果浏览器不支持全屏,则不显示这个图标 -->
  <div class="screen-full" @click="changeScreenFull()" v-if="isScreenEnable">
    <!-- 全屏和非全屏的图标 -->
    <SvgIcon
      :name="isScreenFull ? 'fullscreen-exit' : 'fullscreen'"
      color="#515151"
      width="30px"
      height="30px"
    ></SvgIcon>
  </div>
</template>

<script setup lang="ts">
import { ref, onMounted, onUnmounted } from 'vue'
import { ElMessage } from 'element-plus'
import screenfull from 'screenfull'
// 是否支持全屏
const isScreenEnable = ref(screenfull.isEnabled)
// 用于控制图片状态
const isScreenFull = ref(false)
// 切换全屏
const changeScreenFull = () => {
  // 检查全屏功能是否可用
  if (!isScreenEnable.value) {
    ElMessage.error('浏览器不支持全屏')
    return
  }
  // 根据当前全屏状态进行切换
  if (screenfull.isFullscreen) {
    screenfull.exit()
    isScreenFull.value = false
  } else {
    screenfull.toggle()
    isScreenFull.value = true
  }
}
// 监听全屏状态, 当全屏状态改变时, 会触发change事件
onMounted(() => {
  screenfull.on('change', () => {})
})
// 停止监听
onUnmounted(() => {
  screenfull.off('change', () => {})
})
</script>

3. 方法

  • 引入
import screenfull from 'screenfull'
  • 是否可以全屏(属性)(浏览器的支持)
// 返回值是boolean类型
screenfull.isEnabled
  • 开启全屏状态(方法)
screenfull.toggle()
  • 退出全屏状态
screenfull.exit()
  • 监听全屏状态发生改变时,可以执行回调
screenfull.on('change', () => {})
  • 停止监听的回调
screenfull.off('change', () => {})

http://www.kler.cn/a/581238.html

相关文章:

  • 基于STM32的智能家居门禁开锁控制系统(论文+源码)
  • 可复用的 Vue 轮播图组件
  • Unity 基础知识总结(持续更新中...)
  • SwiftUI 让视图自适应高度的 6 种方法(四)
  • 03_NLP常用的文本数据分析处理方法
  • 【AI落地应用实战】RAGFlow + 知识图谱Knowledge Graph + Deepseek + 知识库构建初步探索
  • Codeforces Round 1008 (Div. 2)(A-D)
  • Application.OnTime如何引用带参数的过程
  • 数据篇| App爬虫入门(一)
  • Python数据分析之机器学习基础
  • WinForm模态与非模态窗体
  • 刚刚!微调 DeepSeek 满血版正式开源。。。
  • 基于PyTorch的深度学习——机器学习3
  • 运维无忧:NebulaGraph Dashboard—— 集群监控的可视化神兵
  • okhttp源码解析
  • 【leetcode100】分割回文串
  • 流处理实战:Flink 在实时数据处理中的应用(状态管理、Watermark、窗口计算)
  • cesium1.126显示等高线
  • 生活小妙招之UE ViewPortUV-SceneTextureUV
  • 基础算法——顺序表