Vue F11监听切大屏

Vue F11监听切大屏,第1张

用Datav插件做大屏可视化时,有一个全屏需求,我的想法是监听F11键,然后触发浏览器的大屏功能API。百度一下,竟有插件,大喜。插件的好处大家都知道,时间熬出来的,并且BUG极少,代码精简,做了全浏览器兼容。

Rec 0001

步骤

1.插件

npm install --save screenfull

2.引入(可全局,也可需要的文件中引入)

import screenfull from 'screenfull'

3.datav的全屏(这个全屏是做了页面级的全屏处理,如不是单页布局不结合这个用会有问题)

  

4.html的放大按钮

 

5.全屏插件结合datav的全屏js代码

 data() {
    return {
      show_big: false,
      fullscreen:false

    }
  },
  computed: {
  },
  watch: {
    fullscreen(newvalue, oldvalue) {
      if (newvalue != oldvalue) {
        // 进行退出全屏的后的事件
        console.log('退出全屏')
      }
    }
  },
  mounted() {
    const that = this
    window.addEventListener('keydown', this.KeyDown, true)
    window.onresize = () => {
      // 调用判断全屏的方法,用来监听
      that.checkFull()
    }
  },
  created() {
  },
  beforeDestroy() {
  },
  methods: {

    KeyDown(event) {
      if (event.keyCode === 122) {
        event.returnValue = false
        this.clickFullscreen() // 触发全屏的按钮
      }
    },

    clickFullscreen() {
      screenfull.toggle()	// 全屏状态切换
      this.fullscreen = !this.fullscreen
      this.show_big = !this.show_big
    },
    checkFull() {
      const fullscreen = window.fullScreen || document.webkitIsFullScreen
      this.fullscreen = fullscreen
      return fullscreen
    }
  }

大功就告成了

================================如果遇到问题==========================

vue screenfull全屏插件 安装之后 npm run serve报错
 Module parse failed: Unexpected token (55:42) You may need a

解决办法,用低版本插件,执行如下

npm install --save-dev screenfull@5.1.0

想看我的全部代码,贴上







欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/940212.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-17
下一篇2022-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存