只此一招,全屏操作从此易如反掌
哈哈,大家原谅我这标题太唬人了……
不过真的很有效哎。
以前对付全屏需求,我的做法是重新写一套css,触发事件之后给顶层节点加上class。这样的做法麻烦,不够美观,容易出错。
最近才知道有一种更方便、快捷、优雅、安全的做法。
原来H5自带全屏api啊!
而且全屏效果很酷炫有木有!
废话不多少,直接上代码吧。
//切换全屏效果export function toggleFullScreen(videoElement) { if ( !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.fullscreenElement && !document.FullscreenElement ) { if (videoElement.mozRequestFullScreen) { videoElement.mozRequestFullScreen(); } else if (videoElement.webkitRequestFullScreen) { videoElement.webkitRequestFullScreen(); } else if (videoElement.requestFullscreen) { videoElement.requestFullscreen(); } else if (videoElement.msRequestFullscreen) { videoElement.msRequestFullscreen(); } } else { if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } else if (document.fullscreen) { document.exitFullscreen(); } else { document.msExitFullscreen(); } }}//验证是否全屏
export function checkFull() { if ( !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.fullscreenElement && !document.FullscreenElement ) { return false; } else { return true; }}//监听全屏事件this.$parent.$el.addEventListener("fullscreenchange", function() { if (checkFull()) { self.isFullScreen = true; } else { self.isFullScreen = false; } }); this.$parent.$el.addEventListener("webkitfullscreenchange", function() { if (checkFull()) { self.isFullScreen = true; } else { self.isFullScreen = false; } });this.$parent.$el.addEventListener("mozfullscreenchange", function() { if (checkFull()) { self.isFullScreen = true; } else { self.isFullScreen = false; } });this.$parent.$el.addEventListener("MSFullscreenChange", function() { if (checkFull()) { self.isFullScreen = true; } else { self.isFullScreen = false; } });
复制代码
有两个需要注意的地方:
1,不同浏览器的兼容写法。
2,元素全屏后,某些功能可能会失效,比如modal,如果是写在元素之外的,那么不会出现,需要将之写在元素内部。
转载于:https://juejin.im/post/5b8df15c51882542d571a9e8
只此一招,全屏操作从此易如反掌相关推荐
- html5中音频、视频标签、自定义播放器常用属性及方法、全屏操作、新增属性兼容问题
多媒体标签: 音频标签audio: <audio src="音频文件的URL"></audio><!-- audio标签需要controls控件才可以 ...
- js全屏操作之判断全屏
前言 前面写了一篇文章介绍js的全屏操作 在写判断全屏的地方有遗漏,这里单独拿出来再写一篇专门判断全屏的文章. 判断浏览器是否支持requestFullscreen 首先是一段判断浏览器是否支持h5全 ...
- html5老是自动退出全屏,HTML5--浏览器全屏操作、退出全屏、是否全屏
Title /*全屏操作的主要方法和属性 * 1.requestFullScreen():开启全屏显示 * 不同浏览器需要添加不同的前缀 * chrome:webkit firefox:moz ie: ...
- esc键退出全屏 vue_Js 网页全屏(vue)-2020-08-26-亲测兼容 F11、ESC的全屏操作
Js 网页全屏(vue) 效果描述 以下逻辑均正常 点击按钮全屏.点击按钮退出全屏.再点击按钮全屏 点击按钮全屏,F11 / ESC 退出全屏,点击按钮全屏 F11 进入全屏,点击按钮退出全屏 不同页 ...
- video全屏操作栏自定义样式js 指定元素全屏视频截图下载
目录 1. 页面结构 2. 全屏方法 3. 截图方法 4. 样式代码 5. 效果截图 6. 附上完整代码 最近遇到的需求就是重新video标签的控制栏的样式,包括进度条.音量.倍速.全屏等样式,在正常 ...
- 小型学生计算机怎样玩cf,教您笔记本玩cf如何调全屏操作详细方法
随着社会的快速发展,电脑已经走进我们的生活中,有用户在笔记本上玩穿越火线我们可能会遭遇不能全屏的尴尬,不能全屏势必会影响玩家操作,降低对游戏的体验程度,那么笔记本玩cf如何调全屏?下面,小编就来跟大家 ...
- js全屏事件,进入全屏,退出全屏操作
上面是全面化方案,下面还有个简单的实现功能 1.进入全屏 function launchFullscreen(element) {if (element.requestFullscreen) {ele ...
- 转换文档参数_Word、Excel、PDF多格式转换?只需1招全搞定
在工作学习中,我们常常会遇到一些文档需要进行格式转换,比如Word文档.excel表格与PDF的互转需求.而想要实现这一操作的技巧有很多,但今天君君要分享的这个PDF转换工具基本可以覆盖全平台了,真正 ...
- chrome 浏览器全屏操作
chrome.exe -kiosk [网页] 转载于:https://www.cnblogs.com/yang95/articles/9335975.html
最新文章
- 使用jQuery开发messager消息框插件
- Spring Boot神操作-多个数据源Service层封装
- 二维计算几何基础知识
- 数据库中敏感字段的标记、标示
- ADB安卓调试工具使用总结
- jdbc的预处理中如何处理模糊查询
- fiddler手机端抓包配置
- HTTP--历史、组件系统
- 从QQ空间热度分析看社区营销
- Windows服务一直“正在启动”怎么杀
- 经验之谈:学习 Visual Studio Code 不会错!
- NOIP2017错题
- 基于Java的实现宠物管理系统的设计与实现
- 如何快速调整图片亮度和对比度?
- -1073740771 (0xC000041D)问题解决方案(已放弃)
- 基于Vue的移动端图片裁剪组件 vue-clip(完美兼容ios与安卓)
- 从最终用户角度来看外部结构_从不同角度来看您最喜欢的游戏
- 外贸B2C系列:google企业邮箱设置
- 5个值得关注的L1公链
- maven 的使用
热门文章
- opengl光照效果_【图形学基础 | Shader】Blinn-Phong 光照模型
- spire.doc 转html,c# html 转Word--Spire.Doc
- 计算机会计应用实训,计算机会计模拟实习报告.pdf
- mysql远程权限grant_mysql 赋给用户远程权限 grant all privileges on
- Kernel oops panic 调试 (未完待续)
- java dolayout,Component
- php常用的技术有哪些,php常用技术
- java正则 括号_java正则表达式获取大括号小括号内容并判断数字和小数亲测可用...
- 约瑟夫环双向链表c语言实,双向链表与约瑟夫环代码
- python为什么慢_python-为什么startswith比切片慢