21.10.10

Obtener el Nombre correcto del Navegador




Si deseas obtener y/o mostrar Datos de tus Visitantes como su Navegador y usas la variable de JavaScript navigator.appName te vas a encontrar con un par de errores, por ejemplo: si usas Google Chrome esta te va a decir que estas usando Netscape (para quien no lo conozca era un navegador extremadamente popular hasta que se volvió licenciado, y creo o supongo que el error en appName es por que Chrome tiene algunos fundamentos en dicho navegador), este truco lo aprendi hace ya algun tiempo en JavaScripter.net y le hice algunas modificaciones.

Pruébalo:


Código:

<script language="JavaScript">
var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;
var browserName  = navigator.appName;
var nameOffset,verOffset,ix;
var fullVersion  = ''+parseFloat(navigator.appVersion);

if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
 browserName = "Microsoft Internet Explorer";
}
else if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
 browserName = "Opera";
}
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
 browserName = "Chrome";
}
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
 browserName = "Safari";
}
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
 browserName = "Firefox";
}
// para otros navegadores busca el nombre al final del 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;
 }
}
if ((ix=fullVersion.indexOf(";"))!=-1) fullVersion=fullVersion.substring(0,ix);
if ((ix=fullVersion.indexOf(" "))!=-1) fullVersion=fullVersion.substring(0,ix);

document.write('navigator.appName : '+navigator.appName+'<br>');
document.write('Navegador  : '+browserName+'<br>');
document.write('Versión  : '+fullVersion+'<br>');

document.write('Tu navegador es  : '+browserName+' '+fullVersion+'<br>');
</script>

Explicación: Lo que hace este código es Buscar mediante IndexOf la existencia del nombre del explorador en la variable navigator.userAgent, tambien corta la variable navigator.appVersion ya que viene con otra información.

Importante: Para tu web puedes quitar los 3 primeros document.write, ya que estos son  solo para que compares aquí y veas las variables.

Este código lo puedes pegar donde quieras que aparezca la información y listo solucionado el problema del nombre del navegador.


Si te gusto el contenido no Olvides Comentar y Compartir



2 comentarios:

  1. Me resultó muy útil... muchas gracias!!!

    ResponderEliminar
  2. Si es un código que puede ser bastante útil, no olvides decir que lo viste en http://trucosw3.blogspot.com

    ResponderEliminar