全屏解决方案 (screenfull or vueuse)

2024-03-21 13:04

本文主要是介绍全屏解决方案 (screenfull or vueuse),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ScreenFull 使用 (方案一)

参考文章@朝阳 39

参考文章@半夏_2021

安装

npm install screenfull --save
(默认是 6.0,vue2 环境下会报错,所以需要安装 5.1.0)

vue2 安装

npm i screenfull@5.1.0

引入

import screenfull from “screenfull”;

调用

// 属性
screenfull.isFullscreen; // 布尔值——当前页面是否全屏
screenfull.isEnabled; // 布尔值——当前浏览器是否支持全屏// 方法
screenfull.request(); // 全屏
screenfull.exit(); // 退出全屏
screenfull.toggle(); // 全屏切换 (将指定元素作为参数传入,则只会对该元素进行全屏切换)

案例

<i class="el-icon-full-screen" @click="fullScreenHandler">供应商风险评定</i><script>import screenfull from 'screenfull'function fullScreenHandler() {if (screenfull.isEnabled && !screenfull.isFullscreen) {screenfull.toggle(this.$refs.fullScreen)console.log('点击全屏')}},
</script>

踩坑报错并解决

因为版本问题报错

  • 如果你使用的是 vue2,则使用 5.1.0,因为默认安装 版本是 6.0,在 vue2 环境下会报错
  • vue2 安装指令 : npm i screenfull@5.1.0

screenFull 配合 element-ui 使用报错

element[fn.requestFullscreen] is not a function

如何想让 elementui 组件使用全屏功能,可能会报上述错误.

解决办法:

在 elementui 组件外面包一层 div,并给该 div 添加 ref=“screenFull”

VueUse useFullscreen 使用 (方案二)

vueuse 文档

<UseFullscreen v-slot="{ toggle }"><video /><button @click="toggle">Go Fullscreen</button>
</UseFullscreen>

案例

    <button @click="toggle1">Go Fullscreen</button><divref="box"class="box"style="height: 300px; width: 300px; background-color: tomato"></div>import { useFullscreen } from "@vueuse/core";methods: {toggle1() {let { toggle } = useFullscreen(this.$refs.box);toggle();},},

这篇关于全屏解决方案 (screenfull or vueuse)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/832676

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

MYSQL事务死锁问题排查及解决方案

《MYSQL事务死锁问题排查及解决方案》:本文主要介绍Java服务报错日志的情况,并通过一系列排查和优化措施,最终发现并解决了服务假死的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录问题现象推测 1 - 客户端无错误重试配置推测 2 - 客户端超时时间过短推测 3 - mysql 版本问

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用