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>
相关推荐
xkroy9 分钟前
ajax
前端·javascript·ajax
Yvonne爱编码13 分钟前
AJAX入门-URL、参数查询、案例查询
前端·javascript·ajax
闲人编程22 分钟前
前端形态与样式风格:从古典到现代的视觉语言演进
前端·css·状态模式·组件·js·风格·响应式
JudithHuang23 分钟前
Mac版微信开发者工具登录二维码不显示问题解决方案
前端
Swift社区38 分钟前
如何解决 Vue2 前端项目为何无法访问本地资源(chunk.js 加载一直 pending/转圈)
开发语言·前端·javascript
清风细雨_林木木1 小时前
Vue加载资源‘如图片’的“直接引入“方式和“request()“的区别
前端·javascript·vue.js
大熊猫侯佩1 小时前
iOS 26 仅需几行代码让 SwiftUI 7 液态玻璃界面焕发新春
前端·swiftui·apple
BillKu2 小时前
Vue3应用执行流程详解
前端·javascript·vue.js
欧阳天风2 小时前
链表运用到响应式中
javascript·数据结构·链表