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>
相关推荐
十年砍柴---小火苗2 分钟前
vue的created和mounted区别
javascript·vue.js·ecmascript
rookiefishs4 分钟前
javascript如何实现手势🤚🏻的检测与识别?🤨
javascript
lens945 分钟前
Oxlint:干掉ESLint卡顿!前端火箭级代码检查器来了!
前端·javascript
RePeaT6 分钟前
JavaScript切换元素显示隐藏的方法
前端·javascript
bitbitDown7 分钟前
同事用了个@vue:mounted,我去官网找了半天没找到
前端·javascript·vue.js
孜然卷k29 分钟前
前端样式CSS设置 display: ‘grid‘, gridTemplateColumns: ‘repeat(4, 1fr)‘ 部分电脑展示内容溢出
前端·css
仰望.43 分钟前
vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能
vue.js·vxe-table
弓长三虎1 小时前
linux 命令审计
linux·运维·服务器·前端
武昌库里写JAVA1 小时前
iview组件库:关于分页组件的使用与注意点
java·vue.js·spring boot·学习·课程设计
EndingCoder1 小时前
React Native 导航系统实战(React Navigation)
前端·react native·react.js·前端框架·跨端