实现vue大数据全屏和退出全屏操作

3 篇文章 0 订阅
一、封装设置全屏和退出全屏的函数:
  1. 设置全屏
setFullScreen() {
            let el = document.documentElement;
            let rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen
            if (rfs) { // typeof rfs != "undefined" && rfs
                rfs.call(el)
            } else if (typeof window.ActiveXObject !== 'undefined') {
				// for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏
                let wscript = new ActiveXObject('WScript.Shell');  //eslint-disable-line
                if (wscript != null) {
                    wscript.SendKeys('{F11}')
                }
            }
            
        },

el.requestFullscreen() // chrome,firefox,edge for true
el.webkitRequestFullScreen() // chrome,edge for true
el.mozRequestFullScreen() // firefox for true
el.msRequestFullscreen() // ie11 for true

  1. 退出全屏
exitFullScreen() {
            let el = document;
            let cfs = el.cancelFullScreen || el.mozCancelFullScreen || el.msExitFullscreen || el.webkitExitFullscreen || el.exitFullscreen;
            if (cfs) { // typeof cfs != "undefined" && cfs
                cfs.call(el);
            } else if (typeof window.ActiveXObject !== 'undefined') {
                // for IE,这里和fullScreen相同,模拟按下F11键退出全屏
                let wscript = new ActiveXObject('WScript.Shell'); //eslint-disable-line
                if (wscript != null) {
                    wscript.SendKeys('{F11}')
                    
                }
            }
        },

3。判断当前页面全屏状态

isFullScreen() {
    return  !! (
        document.fullscreen || 
        document.mozFullScreen ||                         
        document.webkitIsFullScreen ||       
        document.webkitFullScreen || 
        document.msFullScreen 
    );
}

注意:该方法只能判断手动调用全屏和退出全屏的api,按f11键进入的全屏状态是false

二、给全屏按钮设置点击事件

	fullScreenHandle() {
            var isFull = isFullScreen()
			if(isFull) {
				this.exitFullScreen()
			}else {
				this.setFullScreen()
			}
        },

注意:按f11进入的全屏不能使用退出一中的退出全屏的方法,所以要监听用户按下f11的键盘事件并手动调用进入全屏的方法。

  • 监听全局的键盘事件
 window.addEventListener('keydown',(e)=> {
            var isFull = isFullScreen()
            e = e || window.event
              if(e.keyCode == 122 && !isFull) {
                  e.preventDefault()
                  this.setFullScreen()
              }
        })
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值