Logo de islavisual
Logo de islavisual IslaVisual
imagen de sección

Ultima revisión 13/11/2014

Detectar el Navegador con Javascript

Como muchos sabréis, desde la versión 1.9 de jQuery ya no se puede utilizar la instrucción $.browser y, como otros muchos también sabrán, JavaScript tiene un objeto que nos suele proporcionar de esta información muy detallada.

Ese objeto no es otro que window.navigator y que, por si alguno no lo sabéis, puede escribirse sin el prefijo window.

Lo que sucede con este objeto es que, a menudo, nos liamos con el ya que nos proporciona demasiada información y lo descartamos por su complejidad. Esa fue la razón por la que se creo la instrucción $.browser y, la razón de que se haya eliminado, es que como $.browser utiliza la propiedad navigator.userAgent para determinar la plataforma, es vulnerable a la suplantación de identidad por parte del usuario o tergiversación por el propio navegador por lo que, ho hace falta decir que, como consejo claro, siempre es mejor evitar el código específico del explorador completamente cuando sea posible.

Este es el código:

var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
var isFirefox = typeof InstallTrigger !== 'undefined';
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
var isChrome = !!window.chrome && !isOpera;
var isIE = false || !!document.documentMode;

Repito que, siempre es mejor evitar el código específico del explorador completamente cuando sea posible. pero si fuera inevitable, una buena práctica es añadir una clase identificadora al body del la página indicando el navegador para luego filtrar o realizar definiciones específicas.

Espero os sirva...

Sobre el autor

Pablo Enrique Fernández Casado

CEO de IslaVisual, Manager, Full Stack Analyst Developer y formador por cuenta ajena con más de 25 años de experiencia en el campo de la programación y más de 10 en el campo del diseño, UX, usabilidad web y accesibilidad web. También es escritor y compositor de música, además de presentar múltiples soft kills como la escucha activa, el trabajo en equipo, la creatividad, la resiliencia o la capacidad de aprendizaje, entre otras.

Especializado en proveer soluciones integrales de bajo coste y actividades de consultoría de Usabilidad, Accesibilidad y Experiencia de Usuario (UX), además de ofrecer asesoramiento en SEO, optimización de sistemas y páginas web, entre otras habilidades.