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

vue按键全屏和F11全屏共存

以下代码可直接复制
注意此段代码
// let element = document.documentElement // 当前页所有元素全屏
let element = document.getElementById(‘div1’) //让某个div元素全屏

<template><div><div style="width: 300px;height: 300px;background-color: cyan;" id="div1">vue按键全屏和F11全屏共存<br><button @click="fullScreenFun">{{ fullScreen ? '退出全屏' : '全屏' }}按钮</button></div><div style="background-color: #f1ff;">其他无需全屏的内容</div></div>
</template><script>
export default {name: "Screenfull",data() {return {fullScreen: false //是否全屏 默认否};},mounted() {// 监听onresize事件window.onresize = () => {console.log('检查当前是否全屏', this.checkFull());if (!this.checkFull()) {this.fullScreen = false;}};//监听按键事件window.addEventListener("keydown", this.KeyDown, true);},methods: {//监听解决F11打开后无法esc退出同时退出全屏的按钮也失效问题。KeyDown(event) {console.log("监听按键", event);if (event.keyCode === 122) {event.returnValue = false;this.fullScreenFun(); //这里是触发全屏的方法}},// 判断是否全屏模式checkFull() {//判断浏览器是否处于全屏状态 (需要考虑兼容问题)//火狐浏览器let isFull =document.mozFullScreen ||document.fullScreen ||//谷歌浏览器及Webkit内核浏览器document.webkitIsFullScreen ||document.webkitRequestFullScreen ||document.mozRequestFullScreen ||document.msFullscreenEnabled;if (isFull === undefined) {isFull = false;}return isFull;},// 全屏 退出全屏fullScreenFun() {// let element = document.documentElement // 当前页所有元素全屏let element = document.getElementById('div1') //让某个div元素全屏// 判断是否已经是全屏if (this.fullScreen) {// 如果是全屏,退出if (document.exitFullscreen) {document.exitFullscreen();} else if (document.mozCancelFullScreen) {// 兼容火狐document.mozCancelFullScreen();} else if (document.webkitCancelFullScreen) {// 兼容谷歌等document.webkitCancelFullScreen();} else if (document.msExitFullscreen) {// 兼容IEdocument.msExitFullscreen();}} else {// 否则,进入全屏if (element.requestFullscreen) {element.requestFullscreen();} else if (element.webkitRequestFullScreen) {// 兼容谷歌等可以webkitRequestFullScreen也可以webkitRequestFullscreenelement.webkitRequestFullScreen();} else if (element.mozRequestFullScreen) {// 兼容火狐element.mozRequestFullScreen();} else if (element.msRequestFullscreen) {// IE11element.msRequestFullscreen();}}this.fullScreen = !this.fullScreen;}}
};
</script>
http://www.lryc.cn/news/188808.html

相关文章:

  • springboot就业信息管理系统springboot32
  • 深入探讨芯片制程设备:从原理到实践
  • Vuex的简介以及入门案例
  • 上海亚商投顾:沪指探底回升 华为汽车概念股集体大涨
  • Android网络监听
  • Kubernetes 常用命令 持续更新
  • 达梦数据库常用命令行
  • 【通信系列 6 -- AT 命令介绍】
  • flask捕获@app.errorhandler/@app.after_request全局异常总结
  • 智能晾衣架丨以科技解放双手
  • asp.net饭店订餐管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio计算机设计定制
  • Pushgateway的场景使用
  • 时间范围配置(昨天,今天,本周,本月,本季度,本年)
  • PlantUML 绘图
  • spring boot自定义配置时在yml文件输入有提示
  • Linux:I/O 5种模型
  • 企业提升效率的秘密武器,推荐J2L3x聊天软件!
  • Android Termux安装MySQL,并使用cpolar实现公网安全远程连接[内网穿透]
  • 如何有效管理公司分配给员工的个人微信,实现聚合聊天管理?
  • 【HTML5】语义化标签记录
  • 数据结构———— 堆
  • 如何选择专业的游戏开发公司?
  • Unity基础课程之物理引擎3-碰撞检测案例-吃金币并加分显在UI文本框上
  • DAPLink V2 STLink V2 JLink V9.7 串口四合一仿真调试下载器
  • 使用PyTorch处理多维特征输入的完美指南
  • 萝卜刀玩具上架亚马逊CPC认证测试标准
  • 阶段六-Day03-MyBatis
  • 探索RPA流程自动化在不同行业的应用案例
  • 解决gpedit.msc命令无法打开的问题
  • 一大突破!清华大学研制出首颗忆阻器存算一体芯片