用html5 js实现点击一个按钮达到浏览器全屏效果
项目中需要将后台浏览器的窗口全屏,也就是我们点击一个按钮要实现按F11全屏的效果。在HTML5中,W3C制定了关于全屏的API,就可以实现全屏幕的效果,也可以让页面中的图片,视频等全屏目前只有googlechrome15+,safri5.1+,firfox10+,IE11支持
全屏
vardocElm=document.documentElement; //W3C if(docElm.requestFullscreen){ docElm.requestFullscreen(); } //FireFox elseif(docElm.mozRequestFullScreen){ docElm.mozRequestFullScreen(); } //Chrome等 elseif(docElm.webkitRequestFullScreen){ docElm.webkitRequestFullScreen(); } //IE11 elseif(elem.msRequestFullscreen){ elem.msRequestFullscreen(); }
退出全屏
if(document.exitFullscreen){ document.exitFullscreen(); } elseif(document.mozCancelFullScreen){ document.mozCancelFullScreen(); } elseif(document.webkitCancelFullScreen){ document.webkitCancelFullScreen(); } elseif(document.msExitFullscreen){ document.msExitFullscreen(); }
事件监听
document.addEventListener("fullscreenchange",function(){ fullscreenState.innerHTML=(document.fullscreen)?"":"not";},false); document.addEventListener("mozfullscreenchange",function(){ fullscreenState.innerHTML=(document.mozFullScreen)?"":"not";},false); document.addEventListener("webkitfullscreenchange",function(){ fullscreenState.innerHTML=(document.webkitIsFullScreen)?"":"not";},false); document.addEventListener("msfullscreenchange",function(){ fullscreenState.innerHTML=(document.msFullscreenElement)?"":"not";},false);
全屏样式设置
在浏览器全屏的使用我们还可以进行样式设置
html:-moz-full-screen{ background:red; } html:-webkit-full-screen{ background:red; } html:fullscreen{ background:red; }
附录
1一个在线的Demo
http://robnyman.github.io/fullscreen/
2 HTML5全屏API之网络钓鱼
http://www.36ria.com/5807
3 jquery封装的全屏插件
http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
4 更加详细的全屏API介绍
4.1https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode
4.2 https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
5 HTML5全屏API在FireFox/Chrome中的显示差异
http://www.zhangxinxu.com/wordpress/2012/10/html5-full-screen-api-firefox-chrome-difference/