vue3 全屏screenfull

后台项目需要全屏显示

npm install screenfull

在src/components里面新建一个文件夹Screenfull,里面创建一个index.vue文件

index.vue的代码如下

<template>

    <div @click="onToggle">

        <svg-icon id="guide-full" :icon="isFullscreen ? 'exit-fullscreen' : 'fullscreen'" />

    </div>

</template>

<script setup>

import { ref, onMounted, onUnmounted } from 'vue'

import screenfull from 'screenfull'

// 是否全屏

const isFullscreen = ref(false)

// 切换事件

const onToggle = () => {

    screenfull.toggle()

    // isFullscreen.value = !isFullscreen.value  此处也可以,但是为了使用screenfull 的  on 和 off 的方法。如以下内容

}



// 监听变化

const change = () => {

    isFullscreen.value = screenfull.isFullscreen

}

// 设置侦听器

onMounted(() => {

    screenfull.on('change', change)

})

// 删除侦听器

onUnmounted(() => {

    screenfull.off('change', change)

})

</script>

<style lang="scss" scoped></style>

然后在主页引入

<template>
    <div>
        <screenfull />
    </div>
</template>
<script setup>
import Screenfull from '@/components/Screenfull/index'
</script>

Vue 3.0 中使用 screenfull 库进行全屏显示,可以按照以下步骤进行: 1. 安装 screenfull 库 ```shell npm install screenfull --save ``` 2. 在组件中引入 screenfull 库 ```javascript import screenfull from "screenfull"; ``` 3. 在组件中添加全屏切换方法 ```javascript toggleFullScreen() { if (screenfull.isEnabled) { screenfull.toggle(this.$refs.fullscreenRef); } } ``` 在上述代码中,我们检查了当前浏览器是否支持全屏 API,如果支持则调用 `screenfull.toggle()` 方法来切换全屏状态,其中 `this.$refs.fullscreenRef` 是需要全屏显示的元素的引用。 4. 在模板中添加全屏切换按钮 ```html <template> <div> <button @click="toggleFullScreen">全屏</button> <div ref="fullscreenRef">需要全屏显示的内容</div> </div> </template> ``` 在模板中,我们添加了一个全屏切换按钮和一个需要全屏显示的内容的引用。 完整的组件代码如下: ```html <template> <div> <button @click="toggleFullScreen">全屏</button> <div ref="fullscreenRef">需要全屏显示的内容</div> </div> </template> <script> import screenfull from "screenfull"; export default { methods: { toggleFullScreen() { if (screenfull.isEnabled) { screenfull.toggle(this.$refs.fullscreenRef); } } } }; </script> ``` 需要注意的是,虽然 screenfull 库可以帮助我们简化全屏显示的实现,但在使用该库时仍需要进行浏览器兼容性测试,保证在不同浏览器和设备上都能正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值