Vue全屏插件

需求

点击某按钮实现页面全屏 按下 Esc 键退出全屏 IE9以下无需兼容

安装

npm install --sava screenfull

使用


<script>
// 导入全屏第三方模块
import screenfull from 'screenfull'
export default {
  data () {
      return {
        // 全屏/不全屏
        isFullscreen: false
      }
   },
  methods: {
    // 全屏模式 将方法绑定(点击事件)到页面的元素上即可
    screenfull() {
      if (!screenfull.enabled) {
        this.$message({
          message: '您的浏览器无法进入全屏模式',
          type: 'warning'
        })
        return false
      }
      screenfull.toggle()
      this.isFullscreen = true
    },
    // Esc 全屏监测
    checkFull() {
      let isFull = document.fullscreenEnabled || window.fullScreen || document.webkitIsFullScreen || document.msFullscreenEnabled
      if (isFull === undefined) {
          isFull = false
      }
      return isFull
    }
  },
  mounted() {
      window.onresize = () => {
            // 全屏下监控是否按键了ESC
            if (!this.checkFull()) {
              // 退出全屏
              this.isFullscreen = false
            }
          }
       }
    }
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容