当前位置:首页 > 编程笔记 > 正文
已解决

vue如何实现视频全屏切换

来自网友在路上 175875提问 提问时间:2023-11-08 11:44:49阅读次数: 75

最佳答案 问答题库758位专家为你答疑解惑

        最近项目开发中遇到一个视频窗口全屏切换功能,为此在这里做个记录。

        具体的实现思路:

<template><div class="content-box"><div class="container"><div id="screen" class="screen"><el-button @click="screen()">{{ fullscreen ? "还原" : "最大化" }}</el-button></div></div></div>
</template><script>
export default {data() {return {fullscreen: false,};},mounted() {window.addEventListener("resize", ()=> {if (!this.isFullScreen()) {// 非全屏状态this.fullscreen = false;}});},methods: {//判断是否全屏isFullScreen() {return !!(document.webkitIsFullScreen || this.fullele());},fullele() {return (document.fullscreenElement ||document.webkitFullscreenElement ||document.msFullscreenElement ||document.mozFullScreenElement ||null);},screen() {let element = document.getElementById("screen");if (this.fullscreen) {// 关闭全屏if (document.exitFullscreen) {document.exitFullscreen();} else if (document.webkitCancelFullScreen) {document.webkitCancelFullScreen();} else if (document.mozCancelFullScreen) {document.mozCancelFullScreen();} else if (document.msExitFullscreen) {document.msExitFullscreen();}} else {// 全屏if (element.requestFullscreen) {element.requestFullscreen();} else if (element.webkitRequestFullScreen) {element.webkitRequestFullScreen();} else if (element.mozRequestFullScreen) {element.mozRequestFullScreen();} else if (element.msRequestFullscreen) {// IE11element.msRequestFullscreen();}}this.fullscreen = !this.fullscreen;},},
};
</script><style lang="scss" scoped>
.screen {width: 500px;height: 500px;background-color: #fff;border: 1px solid red;
}
</style>

这里需要监听ESC键,为此做了特殊处理,这里是Demo,跟使用效果图基本差不多

         

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"vue如何实现视频全屏切换":http://eshow365.cn/6-35314-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!