Welcome 微信登录

首页 / 脚本样式 / JavaScript / javascript如何快速判断IE浏览器(兼容IE10与IE11)

javascript如何快速判断IE浏览器(兼容IE10与IE11)2014-09-15在很多时候,我们一般采用navigator.userAgent和正则表达来判断IE浏览器版本,下面介绍用IE浏览器中不同特性来判断IE浏览器

1 判断IE浏览器与非IE 浏览器

IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObject。在IE11浏览器还没出现的时候我们判断IE和非IE经常是这么写的

function isIe(){ return window.ActiveXObject ? true : false; }
但是在IE11中上面判断的返回的是false,我自己在IE11测试了下如下代码

alert(window.ActiveXObject);alert(typeof window.ActiveXObject);
结果是

这是为什么呢?明明ActiveXObject是存在的,怎么就typeof的结果确实undefined。哪位知道结果的告诉我这是为什么呢?为神马?

微软上的官网说出了IE11的ActiveXObject的不同。http://msdn.microsoft.com/en-us/library/ie/dn423948%28v=vs.85%29.aspx。但是并没有解释typeof的原因。如果我们用下面的代码来检测是可以的

alert("ActiveXObject" in window)//在ie11下返回的是false
这是我又不明白了"ActiveXObject" in window返回的是true,为什么以前判断IE浏览器的代码在IE11中返回的是false?再次求大牛们给个解释。谢谢下面就直接给出兼容IE11判断IE与非IE浏览器的方法。

function isIe(){return ("ActiveXObject" in window); }
注意前提条件是我们的程序代码中不要覆盖ActiveXObject,应该没有哪个程序这么做吧。呵呵。