screenfull全屏、退出全屏、指定元素全屏的使用步骤

文章目录

1.下载插件
建议下载指定版本5.1.0,不然可能有一个报错

复制代码
npm install --save screenfull@5.1.0

2.页面引入

复制代码
import screenfull from "screenfull"

页面全屏

3.在标签上绑定点击事件

复制代码
<div @click="handleFull">全屏/退出全屏</div>

4.在methods中写方法代码

复制代码
handleFull() {
  if (screenfull.isEnabled) {
    // 加个判断浏览器是否支持全屏
    screenfull.toggle(); // 切换全屏状态
  } else {
    console.log("您的浏览器不支持全屏");
  }
}

页面全屏

5.在标签上绑定点击事件

复制代码
<div id="demo" @click="container">指定元素全屏</div>

6.在methods中写方法代码

复制代码
container() {
  const element = document.getElementById("demo"); // 指定全屏元素
  if (screenfull.isEnabled) {
    screenfull.request(element);
    this.elementFull = !this.elementFull; // 判断状态 决定是全屏还是退出全屏
    if (this.elementFull) {
      screenfull.toggle(); //全屏/退出全屏切换
    }
  }
}

完整代码

复制代码
<template>
  <div class="parentBox">
    <div @click="handleFull" class="btn">全屏/退出全屏</div>
    <div id="demo" @click="container">指定元素全屏</div>
  </div>
</template>
<script>
import screenfull from "screenfull";
export default {
  data() {
    return {
      elementFull: false,
    };
  },
  methods: {
    handleFull() {
      if (screenfull.isEnabled) {
        // 加个判断浏览器是否支持全屏
        screenfull.toggle(); // 切换全屏状态
      } else {
        console.log("您的浏览器不支持全屏");
      }
    },
    container() {
      const element = document.getElementById("demo"); // 指定全屏元素
      if (screenfull.isEnabled) {
        screenfull.request(element);
        this.elementFull = !this.elementFull; // 判断状态 决定是全屏还是退出全屏
        if (this.elementFull) {
          screenfull.toggle(); //全屏/退出全屏切换
        }
      }
    },
  },
};
</script>
<style scoped lang="scss">
.btn {
  background-color: gray;
  width: 200px;
}
#demo {
  background-color: aqua;
  width: 200px;
  height: 200px;
}
</style>
相关推荐
AI街潜水的八角33 分钟前
Python电脑屏幕&摄像头录制软件(提供源代码)
开发语言·python
hadage23334 分钟前
--- git 的一些使用 ---
开发语言·git·python
lly2024063 小时前
HTML与CSS:构建网页的基石
开发语言
一只会写代码的猫3 小时前
面向高性能计算与网络服务的C++微内核架构设计与多线程优化实践探索与经验分享
java·开发语言·jvm
2013编程爱好者4 小时前
Vue工程结构分析
前端·javascript·vue.js·typescript·前端框架
是小胡嘛4 小时前
C++之Any类的模拟实现
linux·开发语言·c++
csbysj20205 小时前
Vue.js 混入:深入理解与最佳实践
开发语言
不羁的fang少年6 小时前
前端常见问题(vue,css,html,js等)
前端·javascript·css
change_fate6 小时前
el-menu折叠后文字下移
前端·javascript·vue.js
Gerardisite7 小时前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php