javascript判断ie浏览器版本

在 Internet Explorer 11 中,user-agent 比之前的版本要短很多,而且去掉了最关键的 MSIE 的关键字:

Internet Explorer 11 的 user-agent:

之前多数使用 MSIE 来判断是否 IE 浏览器的代码都无法工作,可以改用 Trident 字符串来判断。Trident 标识是在 IE9 中引入的。鉴于此将使用Trident 进行IE浏览器版本的判断,代码如下:

function getIEVersion() {
var rv = -1;
if (navigator.appName == ‘Microsoft Internet Explorer’) {
var ua = navigator.userAgent;
var re = new RegExp(“MSIE ([0-9]{1,}[\.0-9]{0,})”);
if (re.exec(ua) != null)
rv = parseFloat(RegExp.$1);
}
else if (navigator.appName == ‘Netscape’) {
var ua = navigator.userAgent;
var re = new RegExp(“Trident/.*rv:([0-9]{1,}[\.0-9]{0,})”); //for IE 11
if (re.exec(ua) != null)
rv = parseFloat(RegExp.$1);
}
return rv;
}

如果你只是想单纯判断当前浏览器是否是IE11则可以使用:

if (!!navigator.userAgent.match(/Trident\/7\./)) {
var isIE11 = true;
}

网上有大神推荐(但是执行效果却不理想,IE11返回结果为false,目前还不是很了解其中用意):

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据