作javascript全屏,在ie浏览器中作,把别人的代码拿过来,结果无效。javascript
原始代码以下:java
function fullScreen() { var el = document.documentElement; var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen; if(typeof rfs != "undefined" && rfs) { rfs.call(el); } else if(typeof window.ActiveXObject != "undefined") { //for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏 var wscript = new ActiveXObject("WScript.Shell"); if(wscript != null) { wscript.SendKeys("{F11}"); } } }
结果你会发现,在ie浏览器中,反却是没有任何反应。 web
通过查资料,以及亲身实践(ie11),发现一个Bug,也就是ie的坑,window.ActiveXObject 是一个本地方法,但经过typeof window.ActiveXObject 会获得一个undefined 一样的wscript对象,也是null浏览器
基于这些问题,将代码修改以下(我这里只须要在ie内正常运行)code
function maxScreen() { var el = document.documentElement; var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen; if(typeof rfs != "undefined"&&rfs) { rfs.call(el); return; } var wscript = new ActiveXObject("WScript.Shell"); wscript.SendKeys("{F11}"); }
这样就解决了没法全屏的问题对象