Как я могу определить, какую версию IE использует пользователь в JavaScript? - PullRequest
17 голосов
/ 11 ноября 2008

В некотором существующем коде есть тест, чтобы видеть, выполняет ли пользователь IE, проверяя, определен ли объект Browser.Engine.trident и возвращает ли он true.

Но как я могу определить, использует ли пользователь IE6 (или более раннюю версию) или IE7 (или более позднюю версию)?

Тест необходим внутри функции JavaScript, поэтому условный комментарий не подходит.

Ответы [ 12 ]

0 голосов
/ 11 ноября 2008

Это должно дать вам больше деталей, чем вы хотите:

var agent = navigator.userAgent;
var msiePattern = /.*MSIE ((\d+).\d+).*/
if( msiePattern.test( agent ) ) {
  var majorVersion = agent.replace(msiePattern,"$2");
  var fullVersion = agent.replace(msiePattern,"$1");
  var majorVersionInt = parseInt( majorVersion );
  var fullVersionFloat = parseFloat( fullVersion );
}
0 голосов
/ 11 ноября 2008

Это скрипт, который я использую, и он, кажется, работает достаточно хорошо:

// Returns 0 if the browser is anything but IE
function getIEVersion() {
   var ua = window.navigator.userAgent;
   var ie = ua.indexOf("MSIE ");
   return ((ie > 0) ? parseInt(ua.substring(ie+5, ua.indexOf(".", ie))) : 0);
}

Надеюсь, это кому-нибудь поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...