博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS 全屏和退出全屏--requestFullScreen详解及兼容代码
阅读量:5987 次
发布时间:2019-06-20

本文共 2067 字,大约阅读时间需要 6 分钟。

浏览器全屏实现方式

1.利用h5的requestFullScreen

2.摁F11实现全屏效果   

requestFullscreen全屏具体实现

1.进入全屏
function full(ele) {    if (ele.requestFullscreen) {        ele.requestFullscreen();    } else if (ele.mozRequestFullScreen) {        ele.mozRequestFullScreen();    } else if (ele.webkitRequestFullscreen) {        ele.webkitRequestFullscreen();    } else if (ele.msRequestFullscreen) {        ele.msRequestFullscreen();    }}复制代码

ele:要全屏的元素,可以是document.body也可以是某一个div

思路:
1.判断该浏览器是否具有requestFullscreen方法
2.有,则直接执行ele.requestFullscreen();没有则做浏览器兼容判断。

2.exitFullScreen退出全屏
function exitFullscreen() {    if(document.exitFullScreen) {        document.exitFullScreen();    } else if(document.mozCancelFullScreen) {        document.mozCancelFullScreen();    } else if(document.webkitExitFullscreen) {        document.webkitExitFullscreen();    } else if(element.msExitFullscreen) {        element.msExitFullscreen();    }}复制代码

退出全屏直接使用document调用exitFullscreen方法即可。   

3.获取当前全屏的节点
function getFullscreenElement() {    return (                document.fullscreenElement ||        document.mozFullScreenElement ||        document.msFullScreenElement ||        document.webkitFullscreenElement||null    );}复制代码

document.fullscreenElement():获取当前全屏的元素。

假设id为div1的Element当前为全屏状态则 document.querySelector("#div1")===document.fullscreenElement   

4.判断当前是否全屏
function isFullScreen() {  return  !! (      document.fullscreen ||       document.mozFullScreen ||                               document.webkitIsFullScreen ||             document.webkitFullScreen ||       document.msFullScreen    );}复制代码

  

5.判断当前文档是否能切换到全屏
function isFullscreenEnabled() {    return  (        document.fullscreenEnabled ||        document.mozFullScreenEnabled ||        document.webkitFullscreenEnabled ||        document.msFullscreenEnabled    );}复制代码

  

注意事项:

1.document下没有requestFullscreen

2.requestFullscreen方法只能由用户触发,比如:在onload事件中不能触发
3.页面跳转需先退出全屏
4.进入全屏的元素,将脱离其父元素,所以可能导致之前某些css的失效
解决方案:使用 :full-screen伪类
为元素添加全屏时的样式(使用时为了兼容注意添加-webkit、-moz或-ms前缀)
5.一个元素A全屏后,其子元素要再全屏,需先让元素A退出全屏

转载于:https://juejin.im/post/5c10b0055188257a5a251bdb

你可能感兴趣的文章
MFC 操作配置文件INI的方法
查看>>
《配电网自动化技术》第八、九、十章
查看>>
mysql内置函数
查看>>
将 ext_net 连接到 router - 每天5分钟玩转 OpenStack(145)
查看>>
Xmemcached使用
查看>>
Oracle工作笔记
查看>>
我的友情链接
查看>>
谈谈Scala的并发模型
查看>>
自动化运维之Cobbler自动化部署安装操作系统
查看>>
JS生成UUID
查看>>
分布式文件系统fastDFS部署
查看>>
我的友情链接
查看>>
SUSE开启ssh服务
查看>>
spring表达式语言(SpEL)简述及Hello World示例
查看>>
我的yum本地源配置
查看>>
Linux基础篇之SELinux
查看>>
成功的培训
查看>>
IOS开发之UITableView1
查看>>
关于ARM的22个常用概念介绍
查看>>
Java学习笔记(29)——Java集合01之总体框架
查看>>