浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
如果你想使一个元素在全屏模式下展现(比如说<video>),你可以调用该元素的requestFullscreen()方法;这个方法在Gecko中的实现是element.mozRequestFullScreen(),在WebKit中为element.webkitRequestFullscreen()。
比如一个实例:
varelem=document.getElementById("myvideo"); if(elem.requestFullscreen){ elem.requestFullscreen(); //IE浏览器 }elseif(elem.mozRequestFullScreen){ elem.mozRequestFullScreen(); //火狐浏览器 }elseif(elem.webkitRequestFullscreen){ elem.webkitRequestFullscreen(); //谷歌浏览器 }
运行到这里,Gecko与WebKit两个实现中出现了一个值得注意的区别:Gecko会为元素自动添加CSS使其伸展以便铺满屏幕:"width:100%;height:100%"。WebKit则不会这么做;它会让全屏的元素以原始尺寸居中到屏幕中央,其余部分变为黑色。为了在WebKit下也达到与Gecko同样的全屏效果,你需要手动为元素增加CSS规则"width:100%;height:100%;":
functiontoggleFullScreen(){ if(!document.fullscreenElement&&//alternativestandardmethod !document.mozFullScreenElement&&!document.webkitFullscreenElement){//currentworkingmethods if(document.documentElement.requestFullscreen){ document.documentElement.requestFullscreen(); }elseif(document.documentElement.mozRequestFullScreen){ document.documentElement.mozRequestFullScreen(); }elseif(document.documentElement.webkitRequestFullscreen){ document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); } }else{ if(document.cancelFullScreen){ document.cancelFullScreen(); }elseif(document.mozCancelFullScreen){ document.mozCancelFullScreen(); }elseif(document.webkitCancelFullScreen){ document.webkitCancelFullScreen(); } } }
代码首先检查了document上的fullscreenElement属性(也检查了带-moz-与-webkit-两个前缀的)。如果该属性为null,则document当前处于窗口模式,所以我们需要切换进全屏模式。可以通过调用element.mozRequestFullScreen()或者webkitRequestFullscreen()来进入全屏模式,具体调用哪个还要看哪个方法可用。
如果已经激活了全屏模式(fullscreenElement非空),我们调用document.mozCancelFullScreen()或webkitCancelFullScreen(),同样要依赖于我们使用了哪个浏览器。
以上就是小编为大家带来的浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题全部内容了,希望大家多多支持毛票票~