javascript全屏以及IE下无效的坑

作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}");
	    
	 }

这样就解决了没法全屏的问题对象

相关文章
相关标签/搜索