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