vue 全屏 screenfull.js 使用及API

vue 全屏 screenfull.js 使用及API

一、安装

npm i -S screenfull

二、使用

<template>
  <div>
    <svg-icon :icon-class="isFullscreen?'exit-fullscreen':'fullscreen'" @click="click" />
  </div>
</template>

<script>
// 引入screenfull
import screenfull from 'screenfull'

export default {
  name: 'Screenfull',
  data() {
    return {
    // 默认不全屏
      isFullscreen: false
    }
  },
  mounted() {
    this.init()
  },
  beforeDestroy() {
    this.destroy()
  },
  methods: {
    click() {
    	// 使用screenfull.enabled方法判断是否支持screenfull
	   // 若不允许进入全屏,发出不允许提示
      if (!screenfull.isEnabled) {
        this.$message({
          message: '该浏览器不支持全屏',
          type: 'warning'
        })
        return false
      }
       // 调用 screenfull.toggle() 切换全屏与非全屏
      screenfull.toggle()
    },
    change() {
      this.isFullscreen = screenfull.isFullscreen
    },
    // 注册事件
    init() {
      if (screenfull.enabled) {
        screenfull.on('change', this.change)
      }
    },
    // 移除注册的事件
    destroy() {
      if (screenfull.enabled) {
        screenfull.off('change', this.change)
      }
    }
  }
}
</script>

<style scoped>
.screenfull-svg {
  display: inline-block;
  cursor: pointer;
  fill: #5a5e66;;
  width: 20px;
  height: 20px;
  vertical-align: 10px;
}
</style>


三、API

request(ele) 全屏

exit() 退出全屏

toggle() 切换全屏

on(event, function) : event为 ‘change’ | ‘error’ 注册事件

off(event, function) : 移除前面已经注册的事件

element: 返回一个全屏的dom节点,如果没有就为 null

isFullscreen : 是否是全屏状态

isEnabled : 判断是否支持全屏

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值