使用JavaScript和userAgent轻松检测IE版本

时间:2014-03-30 22:15:31

标签: javascript internet-explorer

寻找最简单的方法来快速确定正在使用的Internet Explorer的当前版本(如果有的话),纯粹是在JavaScript中。我希望使用所有古老的IE用户代理字符串来支持极端精确的简洁性和实用性。

var IE = /*???*/;

if (IE && IE<9){
  // degraded web experience
} else {
  // pro web experience
}

1 个答案:

答案 0 :(得分:0)

以下是我提出的建议:

var IE = (function getIEVersion(){
  if (navigator.appName == 'Microsoft Internet Explorer'){
    var regex = /MSIE ([0-9]{1,}).*;/;
    var result = regex.exec(navigator.userAgent);
    return result ?parseInt(result[1]) :0;
  } else return 0;
})();

////////////

if (IE && IE<9) alert("Your browser sucks!");
else console.log("We're cool");
  • IE始终为整数
  • 当浏览器不是Internet Explorer时,
  • IE = 0
  • 我已经测试过它在IE11的仿真模式下工作。
  • IE11是第一个不再在userAgent字符串中声明自己的IE,因此IE11 +将在此函数中显示为非IE(IE = 0)

我很高兴知道是否有人发现这项技术有任何问题,或者知道更好的技术。