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

這樣就解決了沒法全屏的問題對象

相關文章
相關標籤/搜索