Получить версию браузера IE, используя Javascript

Я использую следующий код, чтобы получить версию IE в системе.

    var browser = navigator.appName;
    var b_version = navigator.appVersion;
    var version = parseFloat(b_version);
    alert(version);

Но версия всегда получается 4 в IE^ и IE7. Как я могу получить точную версию?

4 ответа

Решение

Как правило, не рекомендуется использовать обнаружение версий - фактически, даже обнаружение браузера не рекомендуется! Вместо этого попробуйте обнаружение объекта.

Вы получили 4, потому что строки navigator.appVersion начинаются с 4.0, как это.

4.0 (compatible; MSIE 6.0; Windows NT 5.0; ...)

Если вы так сделаете, вы получите MSIE 6.0 для вышеупомянутого случая

alert(navigator.appVersion.match(/MSIE [\d.]+/))

Если вы только хотите 6.0 ты мог бы сделать как

alert(navigator.appVersion.match(/MSIE ([\d.]+)/)[1])

Приведенная ниже функция isIE возвращает версию IE, если IE обнаружен, иначе возвращает FALSE

function isIE () {
  var myNav = navigator.userAgent.toLowerCase();
  return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;
}

Это основано на ответе здесь Вереро.

Попробуйте что-то вроде этого:

<script language="javascript">
        Event.observe(window, 'load', function() {
            var el = $("browserName");
            var BO = detectBrowser();
            if(BO.ie6){
                el.innerHTML = "<b>We do not support IE6. Please click <a href=\"http://www.microsoft.com/windows/downloads/ie/getitnow.mspx\">here</a> to upgrade.</b>";
            }else{
                el.innerHTML = "<b>Thank You for not running IE6.</b>";
            }
        });
</script>
Другие вопросы по тегам