VUE实现全屏页面展示及退出

1、在vue项目下创建src/utils/util.js文件且加入如下代码:

javascript 复制代码
import Vue from 'vue'
const util = Vue.prototype.util = {}
// 切换全屏
util.fullScreen = function (element) {
    element = element || document.body;
    if (element.requestFullscreen) {
        element.requestFullscreen();
    } else if (element.mozRequestFullScreen) {
        element.mozRequestFullScreen();
    } else if (element.webkitRequestFullscreen) {
        element.webkitRequestFullscreen();
    } else if (element.msRequestFullscreen) {
        element.msRequestFullscreen();
    }
}

// 退出全屏
util.exitFullscreen = function () {
    if (document.exitFullscreen) {
        document.exitFullscreen();
    } else if (document.mozCancelFullScreen) {
        document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) {
        document.webkitExitFullscreen();
    }
}
export {
    util
}

2、vue页面加入全屏按钮及退出全屏按钮,功能实现如下:

javascript 复制代码
<template>
  <div ref="container" class="fit-container">
       <el-button  type="primary" v-if="fullScreenFlag==true" href="javascript:;"  icon="el-icon-full-screen" size="mini" class="filter-item" @click="fullScreen()">全屏</el-button>
       <el-button type="primary" v-if="fullScreenFlag==false"   href="javascript:;"   icon="el-icon-full-screen" size="mini" class="filter-item" @click="exitFullScreen()">退出全屏</el-button>
  </div>
</template>
<script>
import Vue from "vue"; // 引入vue
import {util} from "../../util/utils"
export default {
  data() {
    return {
      //全屏设置
      fullScreenFlag:true,
    };
  },
  methods: {
    //全屏
    fullScreen(){
      this.fullScreenFlag = false;
      this.util.fullScreen();
    },
    //退出全屏
    exitFullScreen(){
      this.fullScreenFlag = true;
      this.util.exitFullscreen();
    }
  },
};
</script>

<style></style>
相关推荐
用户2136610035721 小时前
Vue2组件化开发与父子通信
前端·vue.js
Momo__1 小时前
TypeScript satisfies 操作符——比 as 更安全的类型守门员
前端·typescript
用户2136610035721 小时前
Vue2事件系统与指令进阶
前端·vue.js
labixiong1 小时前
实现一个能跑的迷你版Promise(一)
前端·javascript·面试
Csvn3 小时前
`??` 和 `||` 搞混,线上用户头像全挂了
前端
kyriewen4 小时前
白宫前脚下了限制令,OpenAI 后脚就把 GPT-5.6 发了
前端·gpt·openai
用户40269244819085 小时前
CRMEB Pro 新增后台接口全链路:路由、权限、验证器、返回格式一次讲清
前端·后端
泉城老铁5 小时前
springboot+vue+ ffmpeg 实现视频的拉流播放
前端
逸铭5 小时前
Day 5:三栏布局——左账号 / 中聊天 / 右工具
vue.js·electron
PedroQue996 小时前
uni-router v1.8.0新增冷启动守卫补执行
前端·uni-app