Obtener la versión del explorador de IE utilizando Javascript

Estoy usando el siguiente código para get la versión de IE en un sistema.

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

Pero la versión siempre es 4 en IE ^ e IE7. ¿Cómo puedo get la versión exacta?

En general, no es una buena idea usar la detección de versiones; de hecho, ¡incluso la detección del browser no es recomendable! En cambio, testing la detección de objects .

Tienes 4 debido a las cadenas navigator.appVersion comienza con 4.0 como este.

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

Si te gusta esto, obtendrás MSIE 6.0 para el caso anterior

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

Si solo quieres 6.0 , podrías hacer algo como

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

La siguiente function isIE devuelve la versión de IE si se detecta IE, de lo contrario, devuelve FALSO

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

Esto se basa en la respuesta aquí por weroro.

Pruebe algo como esto:

 <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>