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>

相关推荐
我去流水了1 分钟前
【独家免费】【亲测】在linux下嵌入式linux的web http服务【Get、Post】,移植mongoose,post上传文件
linux·运维·前端
Mintopia4 分钟前
世界头部大厂的研发如何使用 AI-Coding?
前端
wuhen_n4 分钟前
响应式图片的工程化实践:srcset与picture
前端·javascript·vue.js
学博成7 分钟前
centos7.9 安装 Firefox
前端·firefox
专注VB编程开发20年7 分钟前
VS2026调试TS用的解析/运行引擎:确实是 ChakraCore.dll(微软自研 JS 引擎)
开发语言·javascript·microsoft
wuhen_n7 分钟前
CDN图片服务与动态参数优化
前端·javascript·vue.js
郝学胜-神的一滴10 分钟前
深入理解Python生成器:从基础到斐波那契实战
开发语言·前端·python·程序人生
初级见习猿工11 分钟前
使用pdfjs-dist在Vue 3中实现PDF文件浏览器预览
javascript·vue·pdfjs-dist
吴声子夜歌16 分钟前
JavaScript——异常处理
开发语言·javascript·ecmascript
Mintopia19 分钟前
为什么要有 Neovate Code?
前端