vue 支持部分全屏 支持点击ecs 关闭全屏

<template>

<div>

<div id="screen" @click="screen">Toggle Fullscreen</div>

</div>

</template>

<script>

export default {

data() {

return {

fullscreen: false

};

},

mounted() {

document.addEventListener('fullscreenchange', this.handleFullScreenChange);

document.addEventListener('keydown', this.handleKeyDown);

},

beforeDestroy() {

document.removeEventListener('fullscreenchange', this.handleFullScreenChange);

document.removeEventListener('keydown', this.handleKeyDown);

},

methods: {

handleFullScreenChange() {

if (!document.fullscreenElement) {

this.fullscreen = false;

}

},

handleKeyDown(event) {

if (event.key === 'Escape') {

if (this.fullscreen) {

this.exitFullScreen();

}

}

},

screen() {

let element = document.getElementById('screen');

if (this.fullscreen) {

this.exitFullScreen();

} else {

this.enterFullScreen(element);

}

this.fullscreen = !this.fullscreen;

},

enterFullScreen(element) {

if (element.requestFullscreen) {

element.requestFullscreen();

} else if (element.webkitRequestFullScreen) {

element.webkitRequestFullScreen();

} else if (element.mozRequestFullScreen) {

element.mozRequestFullScreen();

} else if (element.msRequestFullscreen) {

element.msRequestFullscreen();

}

},

exitFullScreen() {

if (document.exitFullscreen) {

document.exitFullscreen();

} else if (document.webkitCancelFullScreen) {

document.webkitCancelFullScreen();

} else if (document.mozCancelFullScreen) {

document.mozCancelFullScreen();

} else if (document.msExitFullscreen) {

document.msExitFullscreen();

}

}

}

};

</script>

相关推荐
用户47949283569157 小时前
Safari 中文输入法的诡异 Bug:为什么输入 @ 会变成 @@? ## 开头 做 @ 提及功能的时候,测试同学用 Safari 测出了个奇怪的问题
前端·javascript·浏览器
没有故事、有酒7 小时前
Ajax介绍
前端·ajax·okhttp
朝新_7 小时前
【SpringMVC】详解用户登录前后端交互流程:AJAX 异步通信与 Session 机制实战
前端·笔记·spring·ajax·交互·javaee
裴嘉靖7 小时前
Vue 生成 PDF 完整教程
前端·vue.js·pdf
毕设小屋vx ylw2824268 小时前
Java开发、Java Web应用、前端技术及Vue项目
java·前端·vue.js
冴羽8 小时前
今日苹果 App Store 前端源码泄露,赶紧 fork 一份看看
前端·javascript·typescript
蒜香拿铁8 小时前
Angular【router路由】
前端·javascript·angular.js
brzhang9 小时前
读懂 MiniMax Agent 的设计逻辑,然后我复刻了一个MiniMax Agent
前端·后端·架构
西洼工作室9 小时前
高效管理搜索历史:Vue持久化实践
前端·javascript·vue.js
广州华水科技9 小时前
北斗形变监测传感器在水库安全中的应用及技术优势分析
前端