当前位置: 首页 > news >正文

vue如何实现视频全屏切换

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

        具体的实现思路:

<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,跟使用效果图基本差不多

         

http://www.lryc.cn/news/219937.html

相关文章:

  • Shopee买家通系统一款全自动操作虾皮买家号的软件
  • 希亦内衣洗衣机和小米哪个品牌好?内衣洗衣机横评对比
  • 下载安装各种版本的Vscode以及解决VScode官网下载慢的问题
  • 双十一电视盒子哪个牌子好?测评工作室整理口碑电视盒子排名
  • 11.1总结
  • Proteus仿真--1602LCD显示电话拨号键盘按键实验(仿真文件+程序)
  • 如何防范AI诈骗
  • ICCV2023 Tracking paper汇总(一)(多目标跟随、单目标跟随等)
  • 【PG】PostgreSQL查看与修改参数
  • openGauss学习笔记-115 openGauss 数据库管理-设置安全策略-设置密码安全策略
  • 如何更好地理解甜葡萄酒和干葡萄酒的区别?
  • 基于单片机的车载太阳能板自动跟踪系统研究
  • 前端传字符串的开始时间和 结束时间,数据库时间字段是 timestamp,Java 代码如何写
  • Mac电脑录屏软件 Screen Recorder by Omi 中文最新
  • Android 接入ttf字体文件
  • Java中各种数据格式-json/latex/obo/rdf/ turtle/owl/xml介绍对比示例加使用介绍
  • 计网note
  • Mac版eclipse如何安装,运行bpmn文件
  • 3D高斯泼溅(Splatting)简明教程
  • 为什么要停止在 SpringBoot 中使用字段注,改用构造器注入
  • 数据可视化:地图
  • java 数据结构 ArrayList源码底层 LinkedList 底层源码 迭代器底层
  • 如何在Python编程中应用Linux环境下的框架,以实现高效算法?
  • 多机位直播案例
  • 前沿重器[37] | 大模型对任务型对话的作用研究
  • 第三章:boundary-value analysis
  • Python模块psutil:系统进程管理与Selenium效率提升的完美结合
  • glibc 里的线程 id
  • nacos的部署与配置中心
  • undefined 与 undeclared 的区别?