JavaScript: nombre del navegador

Nombre del navegador

Preguntas frecuentes de JavaScript |Cliente &Preguntas frecuentes de configuración del navegador

Pregunta: ¿Cómo puedo detectar el nombre del navegador (proveedor)?

Respuesta: Para establecer el nombre real del navegador web del usuario, puede utilizar las propiedades navigator.appName y navigator.userAgent.La propiedad userAgent es más fiable que appName porque, por ejemplo, Firefox u Opera pueden devolver la cadena "Netscape" como valor de navigator.appName, lo que refleja los esfuerzos anteriores para lograr una mejor compatibilidad con el (ahora extinto) Netscape Navigator. Tenga en cuenta, sin embargo, que navigator.userAgent puede ser falsificado, también es decir, los clientes pueden sustituir su userAgent por prácticamente cualquier cadena. Por lo tanto, cualquier cosa que deduzcamos de appName o userAgent debe ser tomada con un grano de sal.

El ejemplo de código de abajo utiliza navigator.userAgent para implementar la detección del navegador. También utiliza navigator.appName y navigator.appVersion como último recurso sólo, si la cadena userAgent tiene un formato «inesperado». En su navegador, este código produce la siguiente salida:

Y aquí está el código fuente que realizó la detección del navegador:

var nVer = navigator.appVersion;var nAgt = navigator.userAgent;var browserName = navigator.appName;var fullVersion = ''+parseFloat(navigator.appVersion); var majorVersion = parseInt(navigator.appVersion,10);var nameOffset,verOffset,ix;// In Opera 15+, the true version is after "OPR/" if ((verOffset=nAgt.indexOf("OPR/"))!=-1) { browserName = "Opera"; fullVersion = nAgt.substring(verOffset+4);}// In older Opera, the true version is after "Opera" or after "Version"else if ((verOffset=nAgt.indexOf("Opera"))!=-1) { browserName = "Opera"; fullVersion = nAgt.substring(verOffset+6); if ((verOffset=nAgt.indexOf("Version"))!=-1) fullVersion = nAgt.substring(verOffset+8);}// In MSIE, the true version is after "MSIE" in userAgentelse if ((verOffset=nAgt.indexOf("MSIE"))!=-1) { browserName = "Microsoft Internet Explorer"; fullVersion = nAgt.substring(verOffset+5);}// In Chrome, the true version is after "Chrome" else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) { browserName = "Chrome"; fullVersion = nAgt.substring(verOffset+7);}// In Safari, the true version is after "Safari" or after "Version" else if ((verOffset=nAgt.indexOf("Safari"))!=-1) { browserName = "Safari"; fullVersion = nAgt.substring(verOffset+7); if ((verOffset=nAgt.indexOf("Version"))!=-1) fullVersion = nAgt.substring(verOffset+8);}// In Firefox, the true version is after "Firefox" else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) { browserName = "Firefox"; fullVersion = nAgt.substring(verOffset+8);}// In most other browsers, "name/version" is at the end of userAgent else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) ) { browserName = nAgt.substring(nameOffset,verOffset); fullVersion = nAgt.substring(verOffset+1); if (browserName.toLowerCase()==browserName.toUpperCase()) { browserName = navigator.appName; }}// trim the fullVersion string at semicolon/space if presentif ((ix=fullVersion.indexOf(";"))!=-1) fullVersion=fullVersion.substring(0,ix);if ((ix=fullVersion.indexOf(" "))!=-1) fullVersion=fullVersion.substring(0,ix);majorVersion = parseInt(''+fullVersion,10);if (isNaN(majorVersion)) { fullVersion = ''+parseFloat(navigator.appVersion); majorVersion = parseInt(navigator.appVersion,10);}document.write('' +'Browser name = '+browserName+'<br>' +'Full version = '+fullVersion+'<br>' +'Major version = '+majorVersion+'<br>' +'navigator.appName = '+navigator.appName+'<br>' +'navigator.userAgent = '+navigator.userAgent+'<br>')

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *