js判断IE浏览器的方法(包括ie11)并获取版本号

您所在的位置:网站首页 如何查看ie浏览器版本信息记录 js判断IE浏览器的方法(包括ie11)并获取版本号

js判断IE浏览器的方法(包括ie11)并获取版本号

2024-07-12 03:36| 来源: 网络整理| 查看: 265

原文:https://blog.csdn.net/whupanyinghua/article/details/38026027

原文:https://www.cnblogs.com/XCWebLTE/p/7017338.html

//js判断IE浏览器的方法(包括ie11) function isIE() { if(!!window.ActiveXObject || "ActiveXObject" in window) return true; else return false; }

解释说明:(因为经常需要区别IE浏览器及非IE浏览器。记录一下)

之前,js判断的方式都是利用浏览器的useragent字段。通过判断useragent字段里面是否包含有MSIE字段来判断是否是IE系列浏览器,屡试不爽。

但是在IE11之后,微软把自家的IE革命了,IE11里面的useagent没有MSIE字样。IE 11的userAgent为:"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Shuame; rv:11.0) like Gecko"。明显之前根据MSIE的方式来判断,对IE11是失效的。

其实除了userAgent字段外,我们可以使用ActiveXObject对象来进行判断。

1.IE早些版本时,IE10及以下,window.ActiveXObject 返回一个对象,!window.ActiveXObject则变为false,!!window.ActiveXObject则为true,因为是或||符号后续无需再判断,返回true。

2.IE11中,window.ActiveXObject返回undefine,!window.ActiveXObject则变成了true,!!window.ActiveXObject则变成了false,进入 "window.ActiveXObject" in window判断,该判断条件在IE11下返回true。

3.其他非IE浏览器,如chrome,firefox,window.ActiveXObject都是undefine,!!window.ActiveXObject都是返回的false,而 "window.ActiveXObject" in window也是返回false,因此上述判断函数在非IE浏览器中返回的都是false。

//判断是否是ie且给出ie版本号 function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE -1 && !isIE; //判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; if(isIE) { var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if(fIEVersion == 7) { return 7; } else if(fIEVersion == 8) { return 8; } else if(fIEVersion == 9) { return 9; } else if(fIEVersion == 10) { return 10; } else { return 6;//IE版本


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3