vue element-ui 导航做全屏 取消全屏功能_element ui fullscreen

    if (requestMethod) {
      requestMethod.call(element)
    }
  },
  exitFullScreen () {
    var exitMethod = document.exitFullscreen || // W3C
      document.mozCancelFullScreen || // FireFox
      document.webkitExitFullscreen || // Chrome等
      document.msExitFullscreen // IE11
    if (exitMethod) {
      exitMethod.call(document)
    }
  },
  addFullScreenListener () {
    const self = this
    document.onkeydown = function (e) {
      if (e && e.keyCode === 122) { // 捕捉F11键盘动作
        e.preventDefault() // 阻止F11默认动作
        self.toggleFullScreen()
      }
    }
    // 监听不同浏览器的全屏事件,并件执行相应的代码
    switch (self.browserKernel) {
      case 'webkit':
        document.onwebkitfullscreenchange = function () {
          if (document.webkitIsFullScreen) {
            self.isFullScreen = true
          } else {
            self.isFullScreen = false
          }
        }
        break
      case 'gecko':
        document.onmozfullscreenchange = function () {
          if (document.mozFullScreen) {
            self.isFullScreen = true
          } else {
            self.isFullScreen = false
          }
        }
        break
      case 'trident':
        document.onmsfullscreenchange = function () {
          if (document.msFullscreenElement) {
            self.isFullScreen = true
          } else {
            self.isFullScreen = false
          }
        }
        break
      case 'others':
        document.onfullscreenchange = function () {
          if (document.fullscreen) {
            self.isFullScreen = true
          } else {
            self.isFullScreen = false
          }
        }
        break
      default:
        break
    }
  },

**优化方案:**


在页面初始化时判断浏览器是否支持全屏操作



// 检查浏览器是否支持全屏
this.canFullScreen = document.fullscreenEnabled ||
document.webkitFullscreenEnabled ||
document.mozFullScreenEnabled ||
document.msFullscreenEnabled
if (document.webkitFullscreenEnabled) {
this.browserKernel = ‘webkit’
} else if (document.mozFullScreenEnabled) {
this.browserKernel = ‘gecko’
} else if (document.msFullscreenEnabled) {
this.browserKernel = ‘trident’
} else if (document.fullscreenEnabled) {
this.browserKernel = ‘others’
}
if (this.canFullScreen) {
this.addFullScreenListener()
}


**最后在销毁页面时移除监听:**



destroyed(){
document.onkeydown = null
switch (this.browserKernel) {
case ‘webkit’:
document.onwebkitfullscreenchange = null
break
case ‘gecko’:
document.onmozfullscreenchange = null
break
case ‘trident’:
document.onmsfullscreenchange = null
break
case ‘others’:
document.onfullscreenchange = null
break
default:
break
}
}

#### 总结一下



面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。

还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。



为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

![](https://img-blog.csdnimg.cn/img_convert/621960a57eb42479e02d6d64c0c81891.png)



![](https://img-blog.csdnimg.cn/img_convert/5230c48fd0fcb265f3401a21603bda2b.png)



**前端面试题汇总**



![](https://img-blog.csdnimg.cn/img_convert/42728594459506983a38ca2b86545fc6.png)

**JavaScript**



![](https://img-blog.csdnimg.cn/img_convert/7796de226b373d068d8f5bef31e668ce.png)



**性能**

![](https://img-blog.csdnimg.cn/img_convert/d7f6750332c78eb27cc606540cdce3b4.png)



**linux**



![](https://img-blog.csdnimg.cn/img_convert/ed368cc25284edda453a4c6cb49916ef.png)



**前端资料汇总**

![](https://img-blog.csdnimg.cn/img_convert/6e0ba223f65e063db5b1b4b6aa26129a.png)

前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值