Como ya he preguntado en un comentario: ¿por qué quiere esto? El rastreo del navegador es un mal hábito y solo hay algunas situaciones en las que es necesario.
En su lugar, use detección de características. Como described by Nicholas Zakas, debe probar características relativamente "poco comunes" antes de usarlas y solo confiar en estas pruebas, por lo que es un poco seguro.Por ejemplo, hacer
if (window.XMLHttpRequest)
var xhr = new XMLHttpRequest();
en lugar de
if ((brwsr.IE && brwsr.IE.version >= 7) || (brwsr.firefox) || (brwsr.opera))
var xhr = new XMLHttpRequest();
Y también no hacer
if (window.XMLHttpRequest)
// Hey, native XMLHttpRequest-support, so position: fixed is also supported
(en cambio, si se admite la prueba position: fixed
) Existen
varios navegadores poco comunes con nombres como Kazehakase y Midori que también podrían, o no, ser compatibles con estas características, por lo que sus scripts trabajarán silenciosamente en ellas cuando usen la detección de características.
Pero lea el mentioned article, ya que contiene una explicación muy buena y detallada de esta técnica. (Por cierto, creo que Zakas 'Professional JavaScript for Web Developers es aún demasiado desconocido.)
¿Qué significa "está en una computadora significar"? ¿Desea detectar también iphones y otros deveces móviles? –
¿Por qué quieres saber eso? – Gumbo
porque q dice si firefox Y está en una computadora? El que está en una computadora debe ser importante de lo contrario no estaría allí ... después de todo es redundante de lo contrario. –