javascript全屏以及IE下无效的坑

本文解决在IE浏览器中使用JavaScript实现全屏显示的问题。通过修改原始代码以适应IE特性,最终实现全屏功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做javascript全屏,在ie浏览器中做,把别人的代码拿过来,结果无效。

原始代码如下:

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浏览器中,反倒是没有任何反应。 

经过查资料,以及亲身实践(ie11),发现一个Bug,也就是ie的坑,window.ActiveXObject 是一个本地方法,但通过typeof  window.ActiveXObject 会得到一个undefined  同样的wscript对象,也是null

基于这些问题,将代码修改如下(我这里只需要在ie内正常运行)

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

这样就解决了无法全屏的问题

转载于:https://my.oschina.net/u/2457585/blog/1538592

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值