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>

相关推荐
广州灵眸科技有限公司19 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Easy-Eai编译环境准备与更新
服务器·前端·人工智能·python·深度学习
万少20 小时前
我把 Kimi 接进微信,几分钟做了个随手出图助手
前端
xiaofeichaichai20 小时前
网络请求与实时通道
前端·网络
kTR2hD1qb21 小时前
从 Responses API 到 Chat Completions:一个模型网关的设计复盘
linux·前端
kyriewen1 天前
浏览器缓存最强攻略:强缓存、协商缓存、CDN、更新策略,一篇搞定
前端·面试·浏览器
持敬chijing1 天前
Web渗透之SQL注入-联合查询注入-注入点数据类型判断
前端·sql·安全·web安全·网络安全·安全威胁分析
LIUAWEIO1 天前
CSS 让鼠标呈现手型,鼠标悬浮变小手
css·html·css3·html5
卷帘依旧1 天前
Web3前端一面
前端
古韵1 天前
告别手写分页逻辑:usePagination 从 50 行到 3 行
java·前端