2010-10-26 16 views
22

Estaba trabajando con algunos javascript y encontré un extraño agente de usuario con mi Google Chrome.Agente de usuario extraño con Google Chrome

Tengo Google Chrome 7.0.517.41 beta instalado en mi computadora portátil Ubuntu. Ahora yo sepa mi agente de usuario debería ser algo parecido a Chrome/7.0.517.41

pero me está mostrando:

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7 

por qué sucede esto .. He inhabilitado todas las extensiones instaladas pero sigue siendo el mismo ..

+0

Ese es el agente de usuario que Chrome siempre usa. De hecho, la cadena que mencionas está de hecho dentro de esa. – Pointy

+10

Además, ** todas las cadenas de ** useragent son extrañas. – Pointy

+1

No hay nada de extraño en eso ... – TheHippo

Respuesta

37

La secuencia UA cuenta la larga y trágica historia de intentos de compatibilidad (in). See e.g. this for a brief history of the UA. También debería dejar en claro que el sniffing de UA es inútil, ya que todos los navegadores modernos pretenden ser muchos otros navegadores.Ese es también el caso de que vea aquí:

  • Mozilla - el más antiguo artefacto, que data de la década de 1990
  • X11 - la interfaz gráfica utilizada
  • Linux i686 - OS y el tipo de procesador
  • en_US - su idioma (Inglés, Estados Unidos)
  • AppleWebKit/534,7 - la representación real del motor
  • (KHTML, like Gecko) - otro artefacto del browser sniffing: "Gecko" es el motor FF prestación, KHTML es otro navegador
  • Chrome/7.0.517.41 - el navegador actual versión
  • Safari/537 - otro artefacto contra el oler por guiones "Safari" (que utiliza el mismo motor)

En resumen: algunos sitios rotos supone que "solo permitir a las personas con Mozilla/Firefox/Webkit/lo que sea" es una política sensata; a su vez, los navegadores comenzaron a mentir sobre sus orígenes para sortear estas barreras artificiales. Las cadenas UA son el resultado: bloatware, lleno de basura inútil.

1

Las cadenas del agente de usuario son así, como se mencionó.

Usted no lo ha dicho explícitamente, pero si planea usar el string useragent para detectar el navegador del usuario, use un buen código para hacerlo (es decir, no lo codifique con prisa, lo hará no hacerlo bien).

Aquí hay uno bueno que he usado un par de veces antes: Browser detect.

+0

Además, no detecta el navegador, detecta características (a menos que * están * realmente interesados ​​en lo que es el navegador, para mantener las estadísticas). El horror rastrero que es 'User-Agent' es el resultado directo de las personas que intentan detectar funciones mediante la detección de la versión del navegador (en otras palabras," sí, verifique la palabra 'Mozilla' para ver si podemos usar la función X "- > todos usan ahora la palabra "Mozilla" en su UA) – Piskvor

7

Básicamente, Mozilla significa "compatible con Mozilla", mientras que "KHTML, como Gecko" describe el motor de representación.

Básicamente, la cadena del agente de usuario de Chrome dice "soy compatible con Mozilla y mi motor de representación es como Gecko" como una forma de describirse a los desarrolladores.

La mayoría (si no todos) del navegador se identificará como compatible con Mozilla como una especie de herencia, independientemente de su afiliación con la fundación Mozilla. Sí, incluso Internet Explorer.

Más información sobre cadenas en general en: Mozilla's developer center.

También, si está desarrollando sobre la base de las cadenas de agente de usuario, no lo hace. Solo se encontrará en un mundo dolido: los navegadores se actualizan para implementar funciones y su ojeada agente de usuario aún puede excluirlos, las cadenas de agente de usuario pueden ser falsificadas, y a la buena vieja Opera le gusta informarse como Internet Explorer en versiones anteriores.

En su lugar, use feature detection para determinar si existe una característica que está tratando de usar para un navegador determinado y luego úsela o no.

2

Existen razones históricas para que los navegadores "mientan" sobre sí mismos. La razón principal de esto fue el rastreo de agente de usuario. Opera es el único navegador que se identifica como Opera, todos los demás navegadores usan Mozilla/5.0 o los más antiguos Mozilla/4.0.

Lo único que debe saber al respecto es: No se puede confiar en las cadenas de agente de usuario, se recomienda la detección de detalles.

+2

Opera solía identificarse a sí misma como Internet Explorer en algún lugar de la versión 8, precisamente porque había sitios que decían "No IE, el mejor navegador * evar *? Estás usando un navegador viejo y feo, vete ", incluso si el navegador era completamente capaz de trabajar con el sitio. Este tipo de rudeza no es tan común en los sitios modernos, ya que los creadores saben que hay múltiples navegadores más allá de los 2 grandes (IE y FF), por lo tanto, Opera ya no se tergiversa (de forma predeterminada). – Piskvor

+0

+1 Sip las versiones que me refería: FF 1.5+, Safari 2.0+, IE6 +, Opera 9.0+ – galambalazs

0

Después de probar todo lo que he utilizado por último: http://www.useragentstring.com/

Puede utilizar la página web para ver el agente de usuario con formato y sistema operativo.
Tienen API que se puede usar directamente ...

Espero que ayude .. !!!

Cuestiones relacionadas