赞
踩
做后台管理系统的时候,按到F11,发现全屏了就想着也做个全屏放大的功能。
要求:
对于 screenfull 而言,浏览器本身已经提供了对用的 API,点击这里即可查看,这个 API 中,主要提供了两个方法:
Document.exitFullscreen():该方法用于请求从全屏模式切换到窗口模式
Element.requestFullscreen():该方法用于请求浏览器(user agent)将特定元素(甚至延伸到它的后代元素)置为全屏模式
比如我们可以通过 document.getElementById(‘app’).requestFullscreen() 在获取 id=app 的 DOM 之后,把该区域置为全屏
封装 screenfull
npm i screenfull
<template> <div> <el-button @click="onToggle" >点击{{ isFullscreen ? "exit-fullscreen" : "fullscreen" }}</el-button > </div> </template> <script setup> import { ref, onMounted, onUnmounted } from "vue"; import screenfull from "screenfull"; // 是否全屏 const isFullscreen = ref(false); // 监听变化 const change = () => { isFullscreen.value = screenfull.isFullscreen; }; // 切换事件 const onToggle = () => { screenfull.toggle(); }; // 设置侦听器 onMounted(() => { screenfull.on("change", change); }); // 删除侦听器 onUnmounted(() => { screenfull.off("change", change); }); </script> <style lang="scss" scoped></style>
<screenfull class="right-menu-item hover-effect" />
import Screenfull from "@/components/Screenfull";
使用@vueuse/core
npm i @vueuse/core
import { useFullscreen } from '@vueuse/core'
const { toggle } = useFullscreen() //toggle即为全屏方法 二次调用即为退出全屏
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。