how - ¿Cómo puedo orientarme solo a Internet Explorer 11 con JavaScript?
internet options enable javascript (6)
Esto establecerá, por ie
la versión de IE o 0 si no tiene ninguno. Funcionará de 1 a 11, pero puede no detectar versiones futuras si Microsoft descarta el motor Trident.
var ie = 0;
try { ie = navigator.userAgent.match( /(MSIE |Trident.*rv[ :])([0-9]+)/ )[ 2 ]; }
catch(e){}
Puede que también esté interesado en mi respuesta más detallada here .
¿Cuál es la forma menos propensa a errores para apuntar solo IE11 con JavaScript?
Nota: Esto realmente debería hacerse solo para análisis o para informar al usuario qué navegador está usando. Para todo lo demás, hay detección de funciones.
IE11 mantiene "Trident" en su cadena UA, pero elimina MSIE. Una forma simple de detectar el navegador es IE11 o superior (IE12, IE13, etc.) es:
var isAtLeastIE11 = !!(navigator.userAgent.match(/Trident/) && !navigator.userAgent.match(/MSIE/));
Si solo desea IE11 (y no desea que las versiones futuras de IE coincidan), haga esto:
var isIE11 = !!(navigator.userAgent.match(/Trident/) && navigator.userAgent.match(/rv[ :]11/));
La cadena de agente de usuario para IE 11 es actualmente esta:
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko
Ejemplo de Windows 10:
Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko
Lo que significa que tu puedes simplemente probar, para las versiones 11.xx,
var isIE11 = /Trident.*rv[ :]*11/./.test(navigator.userAgent);
Como agente de usuario IE10 era
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Probablemente también sea seguro apostar al hecho de que ahora se supone que Trident/X
es la versión real.
Prueba esto,
navigator.sayswho= (function(){
var N= navigator.appName, ua= navigator.userAgent, tem;
var M= ua.match(/(opera|chrome|safari|firefox|msie)//?/s*(/.?/d+(/./d+)*)/i);
if(M && (tem= ua.match(/version//([/./d]+)/i))!= null) M[2]= tem[1];
M= M? [M[1], M[2]]: [N, navigator.appVersion,''-?''];
return M;
})();
Fuente de la detección del navegador en JavaScript?
Actualizado para IE = 11
Utilizar esta
var isIE11 = navigator.userAgent.match(/Trident//7.0; rv 11.0/);
Lea esto http://msdn.microsoft.com/en-us/library/ie/bg182625%28v=vs.85%29.aspx
Uso el siguiente patrón para apuntar a todos los navegadores IE. Puede cortocircuitarlo si solo necesita IE 11.
/msie|trident|edge/g.test(navigator.userAgent.toLowerCase());
¡Buena suerte!
Fredrik
var isIE11 = !!navigator.userAgent.match(/Trident//7.0; rv 11/);
Fuente: nczonline.net/blog/2013/07/02/…