change cambiar javascript browser user-agent

javascript - cambiar - document title jquery



Detectando el borde de Microsoft o espartano con javascript (5)

Busque "Edge" en la cadena UA.

Si bien en la mente de la gente de marketing el mundo es perfecto, en realidad los navegadores tienen errores que permanecen sin resolver durante años y siempre será así.

En mi caso, el problema que me obligó a probar el borde frente a Chrome es el error de altura desplegable de Chrome que Spartan / Edge representa correctamente. Microsoft no tiene nada que arreglar aquí y Google ha estado ignorando ese error por más de un año (se estaba renderizando correctamente en versiones antiguas de Chrome).

¿Ya se conoce el agente de usuario para los navegadores Edge o Spartan? ¿Alguien puede decirme cómo detectar este navegador y diferenciarlo de IE antes de su lanzamiento?


Otra opción basada en la detección de características.

function isBrowserEdge () { return typeof CSS !== ''undefined'' && CSS.supports("(-ms-ime-align:auto)"); }


Según esta respuesta :

// Internet Explorer 6-11 var isIE = /*@cc_on!@*/false || !!document.documentMode; // Edge 20+ var isEdge = !isIE && !!window.StyleMedia;


Una simple búsqueda en Google me encontró la respuesta que está buscando: http://forum.piwik.org/read.php?3,125732

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Por lo tanto, debe coincidir con: "Edge///d+"


Microsoft Edge UA cadena:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

Detallo por qué en este blog.

Neowin informó recientemente que el nuevo navegador de Microsoft para Windows 10, Spartan, usa la cadena Chrome UA, "Mozilla / 5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0 ″. Eso se hace a propósito.

También notará que toda la cadena termina con "Edge / 12.0", que Chrome no.

Debo señalar que esto no es un cambio radical de lo que Microsoft hizo con IE 11, que en Windows 8 dice: Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) como Gecko, como se explica en esta sección. enviar.

¿Qué es el agente de usuario sniffing?

A menudo, los desarrolladores web intentarán rastrear la detección del navegador. Mozilla lo explica bien en su blog:

Servir diferentes páginas web o servicios a diferentes navegadores suele ser una mala idea. La Web está destinada a ser accesible para todos, independientemente del navegador o dispositivo que utilicen. Hay formas de desarrollar su sitio web para mejorar progresivamente en función de la disponibilidad de las funciones en lugar de dirigirse a navegadores específicos.

Aquí hay un gran artículo que explica la historia del agente de usuario.

A menudo, los desarrolladores perezosos solo olerán la cadena UA y deshabilitarán el contenido de su sitio web en función del navegador que crean que está utilizando el espectador. Internet Explorer 8 es un punto común de frustración para los desarrolladores, por lo que comprobarán con frecuencia si un usuario está utilizando CUALQUIER versión de IE y deshabilitarán las funciones.

El equipo de Edge lo detalla aún más en su blog.

Todas las cadenas de agentes de usuario contienen más información sobre otros navegadores que el navegador real que está utilizando, no solo tokens, sino también números de versión "significativos".

La cadena UA de Internet Explorer 11:

Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) como Gecko

Microsoft Edge UA cadena:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

Patrick H. Lauke describió la propiedad userAgent como "un paquete de mentiras en constante crecimiento" en las discusiones del W3C. (“O, más bien, un acto de equilibrio de agregar suficientes palabras clave heredadas que no tendrán inmediatamente que se caiga el viejo código de rastreo de UA, mientras se intenta transmitir un poco de información realmente útil y precisa")

Recomendamos que los desarrolladores web eviten la inhalación de UA tanto como sea posible; Las características modernas de la plataforma web son casi todas detectables de manera fácil. Durante el año pasado, hemos visto algunos sitios de rastreo de UA que se han actualizado para detectar Microsoft Edge ... solo para proporcionarle una ruta de código IE11 heredada. Este no es el mejor enfoque, ya que Microsoft Edge coincide con los comportamientos de ''WebKit'', no con los comportamientos de IE11 (cualquier diferencia de Edge-WebKit son errores que estamos interesados ​​en solucionar).

Según nuestra experiencia, Microsoft Edge se ejecuta mejor en las rutas de código ''WebKit'' en estos sitios. Además, cuando Internet esté disponible en una variedad más amplia de dispositivos, suponga que los navegadores desconocidos son buenos; no limite su sitio a trabajar solo en un pequeño conjunto de navegadores conocidos actuales. Si haces esto, tu sitio seguramente se romperá en el futuro.

Conclusión

Al presentar la cadena Chrome UA, podemos solucionar los hacks que estos desarrolladores están utilizando para presentar la mejor experiencia a los usuarios.