Fullscreen 全屏
全屏切换组件,用于进入和退出浏览器全屏模式。
基础用法
基础用法
组件已集成在布局中,无需手动引入:
vue
<template>
<div class="navbar">
<Fullscreen />
</div>
</template>手动使用
vue
<template>
<div>
<el-button @click="toggleFullscreen">
{{ isFullscreen ? '退出全屏' : '进入全屏' }}
</el-button>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const isFullscreen = ref(false)
const toggleFullscreen = () => {
if (!document.fullscreenElement) {
document.documentElement.requestFullscreen()
isFullscreen.value = true
} else {
document.exitFullscreen()
isFullscreen.value = false
}
}
// 监听全屏状态变化
document.addEventListener('fullscreenchange', () => {
isFullscreen.value = !!document.fullscreenElement
})
</script>快捷键
| 快捷键 | 功能 |
|---|---|
| F11 | 切换全屏模式 |
| Esc | 退出全屏模式 |
样式定制
scss
// 自定义全屏按钮样式
.fullscreen-btn {
cursor: pointer;
font-size: 18px;
&:hover {
color: var(--el-color-primary);
}
}浏览器兼容性
全屏 API 在现代浏览器中都有良好支持:
| 浏览器 | 支持情况 |
|---|---|
| Chrome | ✅ 支持 |
| Firefox | ✅ 支持 |
| Safari | ✅ 支持 |
| Edge | ✅ 支持 |
注意事项
- 用户交互:全屏请求必须由用户交互触发(如点击事件)
- iframe 限制:在 iframe 中使用需要设置
allowfullscreen属性 - 移动端:部分移动端浏览器可能不支持全屏 API
