Banner

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...