js 实现全屏

news/2024/10/17 22:27:19/

全屏是否可用:Document.fullscreenEnabled
开启全屏:Document.requestFullScreen() 该方法返回 promise
退出全屏:Document.exitFullscreen() 让当前元素退出全屏模式,会有一个全屏栈
获取元素全屏状态:Document.mozFullScreenElement
全屏模式变化事件: fullscreenchange
参考博客

全屏方法需要用户手动操作的事件触发,如点击等

fullScreen() {let el = this.$refs.vbox; // 获取需要全屏的 dom/*if (el.requestFullscreen) {el.requestFullscreen();} else if (el.webkitRequestFullScreen) {el.webkitRequestFullScreen();} else if (el.mozRequestFullScreen) {el.mozRequestFullScreen();} else if (el.msRequestFullscreen) {el.msRequestFullscreen();}*/el.requestFullscreen||el.mozRequestFullScreen||el.webkitRequestFullscreen||el.msRequestFullScreen?el.requestFullscreen()||el.mozRequestFullScreen()|| el.webkitRequestFullscreen()||el.msRequestFullscreen():null;// 可以更新全屏的标志变量
}

这种方案虽然简单,但无法与其他组件内容配合,如抽屉等功能
此 api 在 iPhone 上不受支持

screenfull.js

简化写兼容性方法,浅封装
npm screenfull

useFullscreen

vueuse 提供的全屏功能

单页面应用中

可以有单独的全屏页面,全屏的同时因为是单页面可以兼顾其他组件。不会出现遮挡的情况
确定不能跳转时自动全屏


测试 demo

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="test" style="width: 200px; height: 100px; background-color: green;" onclick="fullScreen()"></div><script>function fullScreen() {el = document.getElementById('test')el.requestFullscreen || el.mozRequestFullScreen || el.webkitRequestFullscreen || el.msRequestFullScreen ?el.requestFullscreen() || el.mozRequestFullScreen() || el.webkitRequestFullscreen() || el.msRequestFullscreen() :null;}</script>
</body></html>

http://www.ppmy.cn/news/239622.html

相关文章

【数据结构】带你玩转排序:堆排序、希尔排序、插入排序、选择排序、冒泡排序、快排(多版本)、归并排序

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 常见算法的实现 插入排序 希尔排序 堆排序 选择排序 冒泡排序 快速排序 Hoare版本 随机选Keyi 三数取中 挖坑法 前后指针版本 归并排序 常见算法的实现 插入排序 动画演示&…

怎么把伴奏提取出来?分享两个方法给大家~

对于音乐制作人和音乐爱好者而言&#xff0c;创作个人音乐作品是一项令人兴奋的体验。然而&#xff0c;有时我们希望使用一首现有歌曲的伴奏来创作自己的音乐作品&#xff0c;但却无法找到原版伴奏。为了解决这一难题&#xff0c;现在可以使用记灵在线工具来提取音频伴奏。本文…

go编写python拓展模块(python如何调用go语言的模块)

文章目录 go编写python模块(go 语言开发 Python 扩展)1. 什么是python拓展模块2. go 语言开发 Python 扩展思路3. go编写python2拓展模块 示例4. go编写python3拓展模块 示例代码优化 5. python拓展模块什么时候加载查找拓展模块so文件位置的顺序 6. go和c数据结构转化对应关系…

身为大学生,你不会还不知道有这些学生福利吧!!!!

本文介绍的是利用学生身份可以享受到的相关学生优惠权益&#xff0c;但也希望各位享受权利的同时不要忘记自己的义务&#xff0c;不要售卖、转手自己的学生优惠资格&#xff0c;使得其他同学无法受益。 前言 高考已经过去&#xff0c;我们也将迎来不同于以往的大学生活&#x…

库克回应 iPhone 11 系列不支持 5G;哈啰 App 被下架;Flutter 1.9 稳定版发布 | 极客头条...

快来收听极客头条音频版吧&#xff0c;智能播报由标贝科技提供技术支持。 「CSDN 极客头条」&#xff0c;是从 CSDN 网站延伸至官方微信公众号的特别栏目&#xff0c;专注于一天业界事报道。风里雨里&#xff0c;我们将每天为朋友们&#xff0c;播报最新鲜有料的新闻资讯&…

9月12日科技资讯|库克回应 iPhone 11 系列不支持 5G;Flutter 1.9 稳定版发布

「CSDN 极客头条」&#xff0c;是从 CSDN 网站延伸至官方微信公众号的特别栏目&#xff0c;专注于一天业界事报道。风里雨里&#xff0c;我们将每天为朋友们&#xff0c;播报最新鲜有料的新闻资讯&#xff0c;让所有技术人&#xff0c;时刻紧跟业界潮流。 整理 | 胡巍巍 责编 …

国内外有哪些有前景的 AR VR公司?

http://www.zhihu.com/question/28446842 作者&#xff1a;胡痴儿2.0 链接&#xff1a;http://www.zhihu.com/question/28446842/answer/69752272 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 AR AR显示 【Microsof…

ROS机器人程序设计(原书第2版).

机器人设计与制作系列 ROS机器人程序设计 (原书第2版) Learning ROS for Robotics Programming,Second Edition 恩里克费尔南德斯(Enrique Fernndez) 路易斯桑切斯克雷斯波(Luis Snchez Crespo) 阿尼尔马哈塔尼(Anil Mahtani) 亚伦马丁内斯(Aaron Martinez) 著 刘锦…