vue项目实现全屏,退出全屏,图标切换的解决方案

vue项目点击按钮实现全屏很容易,点击按钮退出全屏也很容易。

fullScreen(){

var element=document.documentElement;

if (element.requestFullscreen) {

element.requestFullscreen();

} else if (element.msRequestFullscreen) {

element.msRequestFullscreen();

} else if (element.mozRequestFullScreen) {

element.mozRequestFullScreen();

} else if (element.webkitRequestFullscreen) {

element.webkitRequestFullscreen();

}

},

exitFullScreen(){

if (document.exitFullscreen) {

document.exitFullscreen();

} else if (document.msExitFullscreen) {

document.msExitFullscreen();

} else if (document.mozCancelFullScreen) {

document.mozCancelFullScreen();

} else if (document.webkitExitFullscreen) {

document.webkitExitFullscreen();

};

}

现在的问题是:退出全屏有多种方式:有通过点击退出全屏按钮,有按Esc键,还有鼠标移动到中间顶部显示的那个关闭按钮 ,我们的要求是退出全屏要变换图标和显示的字。

解决方法:监听屏幕变化,一旦变化变判断是否全屏,从而实现图标正常切换。

一:下载引入screenfull 插件

npm install screenfull --save

//在调用全屏功能的组件中引入

import screenfull from 'screenfull'

1234

二:定义全屏切换函数

toggleFullscreen () {

if(!screenfull.isEnabled){ //判断一下浏览器是否支持全屏显示

this.$message({

message:'浏览器不能全屏',

type:'warning'

})

return false

}

screenfull.toggle() //进行全屏切换

},

12345678910

三:调用切换全屏函数

123456

四:监听窗口大小变化,判断是否全屏

// 监听窗口大小改变,screenfull.isFullscreen的值为是否全屏,若是则true,反之false

window.onresize = () => {

this.isScreenFull = screenfull.isFullscreen

}

完整代码:

import screenfull from 'screenfull' //全屏功能

export default {

data () {

return {

isScreenFull:false //是否全屏

}

},

mounted () {

// 监听窗口大小改变,screenfull.isFullscreen的值为是否全屏,若是则true,反之false

window.onresize = () => {

this.isScreenFull = screenfull.isFullscreen

}

},

methods: {

toggleFullscreen () {

if(!screenfull.isEnabled){ //判断一下浏览器是否支持全屏显示

this.$message({

message:'浏览器不能全屏',

type:'warning'

})

return false

}

screenfull.toggle()

},

},

}

上一篇:vue中如何使用延时加载,import的重要作用   下一篇:vue中store.state、$store.state和this.$store.state的适用场景

esc键退出全屏 vue_vue项目实现全屏,退出全屏,图标切换的解决方案相关推荐

  1. esc键退出全屏 vue_vue中实现浏览器全屏与退出全屏功能

    在 标签中主要是放一个全屏与退出全屏的按钮,并绑定上点击事件 fullScreenClick .全屏与退出全屏的按钮显示切换是通过变量 fullScreen 控制的. :content="f ...

  2. esc键退出全屏 vue_Js 网页全屏(vue)-2020-08-26-亲测兼容 F11、ESC的全屏操作

    Js 网页全屏(vue) 效果描述 以下逻辑均正常 点击按钮全屏.点击按钮退出全屏.再点击按钮全屏 点击按钮全屏,F11 / ESC 退出全屏,点击按钮全屏 F11 进入全屏,点击按钮退出全屏 不同页 ...

  3. 全屏状态下的ESC键监听处理

    我又来分享好东西了 直奔主题 今天分享的内容是页面的全屏功能(同时跳转页面) 这个的关键就是当全屏以后,我想通过按下esc键,同时进行一些处理,比如:当手动全屏的时候我跳转展示第三方的页面文件,取消全 ...

  4. React 全屏监听Esc键

    全屏与退出全屏 if (isFull) {document.exitFullscreen();} else {tree.current.requestFullscreen();tree.current ...

  5. js实现浏览器全屏与退出全屏,解决chrome下F11进入全屏后退出全屏API方法失效

    1. 问题说明 网页全屏和退出全屏其实已经算的上一个很常见的功能了,那是不是直接用HTML5全屏API就没什么问题了,但是不要忘了键盘上的F11有着同样的功能,实际使用的时候就发现F11使网页进入全屏 ...

  6. 按esc键退出的一个函数

    1 function  esckey(keycode)          // 按esc键退出 2         { 3              if (keycode  ==   27 ) 4 ...

  7. MFC EDIT控件 接收“回车”与“ESC”键 退出问题!

    在做MFC程序开发过程中,经常会出现DEIT控制按下了ENTER或者ESC键后,程序就会立刻退出(这是MFCR )实现的一种机制,但往往并不是我们想要的),今天教大家两种方法解决.         一 ...

  8. C# 控制台 模拟时间一秒一秒走动,直到按Esc键,时间静止,退出!

    Code using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...

  9. Android 系统(153)---全面屏项目很多APP占不满全屏

    全面屏项目很多APP占不满全屏 刘海屏项目,分辨率720x1498设置系统除外壁纸显示不全,且部分界面底部显示高度有2个navigationbar高度 解决方案: 那是因为全面屏的长宽比超过了1.86 ...

最新文章

  1. GraPhlAn绘制的超高颜值物种树Cladogram
  2. 使用RNNs进行机器翻译——介绍RNN和LSTM网络及其应用
  3. NR 5G 网络功能之AMF
  4. JZOJ 5050. 【GDOI2017模拟一试4.11】颜色树
  5. 以太坊智能合约编程之带菜鸟入门教程
  6. C/C++之预处理命令
  7. homebrew install php53
  8. 在微信浏览器字体被调大导致页面错乱的解决办法
  9. java createjpeg4_在linux下用java的JPEGCodec.createJPEGEncoder(bos)生成jpg图片问题
  10. Java--Socket客户端,服务端通信
  11. golang fmt.printf()
  12. MySQL驱动jar包的下载--保姆教程
  13. Qunee For Html5 开发清新、高效的拓扑图组件
  14. Excel 的进阶学习
  15. python pymysql mysql保存表情符
  16. 计算机开机显示器闪,电脑开机后显示器闪烁怎么办
  17. S2ANet(Align Deep Features for Oriented Object Detection)解读
  18. 深度学习工作站攒机指南
  19. Java并发编程的艺术pdf
  20. 【Matlab】基于改进的 Hausdorf 距离的DBSCAN船舶航迹聚类

热门文章

  1. 五个温度带的分界线_五带的分界线??
  2. 实战:Gateway API-2022.2.13
  3. 调用百度API,识别pdf图片
  4. macOS iOS 完整项目之全功能RSS阅读器 (教程含源码)
  5. Hadoop垃圾回收站与YARN日志聚合
  6. SAP SMW0 上传EXCEL模板
  7. 计算机桌面所有的图标突然不见了怎么办,桌面上图标都不见了怎么办
  8. 人工智能的本质就是计算机科学,人工智能跟意识的本质上的区别是什么?
  9. 为什么我们要减肥?科学家证实肥胖或可导致癌细胞肿瘤生长
  10. 测试-嵌入式图床外链