Foros del Web » Programando para Internet » Javascript »

[MEJORAR] Un detector de navegador.

Estas en el tema de [MEJORAR] Un detector de navegador. en el foro de Javascript en Foros del Web. Para los que no me conocen yo vengo del mundo de PHP por lo que armar algo como esto no me es muy complicado, pero ...
  #1 (permalink)  
Antiguo 21/07/2008, 02:15
Avatar de mapper  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 321
Antigüedad: 21 años, 3 meses
Puntos: 1
[MEJORAR] Un detector de navegador.

Para los que no me conocen yo vengo del mundo de PHP por lo que armar algo como esto no me es muy complicado, pero seguro que alguien puede aportar algo.

Les comento cual fue la situación:
Todos los navegadores me tomaban una parte de un sitio diferente. Algo tan simple como un texto que tenía que medir exactamente un ancho fijo, se volvió algo muy complicado.
La solución es simple, detectar que navegador usan y cargar un css diferente para cada caso.
Pero hay un problema Todos tienen una teoría diferente y separan el mundo de los navegadores en IE y el resto.
Buscando y buscando no encontré mas que ideas para poder armarlo bien (bien creo yo..)



Bueno, aquí está el código. Espero sea muy claro y podamos aportar todos un poco para luego ponerlo en las FAQ's así, de esta manera, el próximo que tenga un problema como éste puede simplificar su día.


Código PHP:
<script type="text/javascript">
var 
navegador navigator.appName;
var 
codename navigator.appCodeName;
var 
navcode;
switch(
navegador)
{
//NAVIGATOR CODES
//IE = Microsoft Internet Explorer
//MZ = Mozilla (or mozilla supported web browsers)
//SF = Apple safari
//OP = Opera
//KQ = Konqueror
//UK = DESCONOCIDO
case "Netscape":
if (
navigator.appVersion.search(/safari/i)!= -){
navcode "sf"
} else {
navcode "mz";
}
break;
case 
"Microsoft Internet Explorer":
navcode "ie";
break;
case 
"Opera":
navcode "op";
break;
case 
"Konqueror":
navcode "kq";
break;
default:
navcode "uk";
break;
}
document.write("<link href='" navcode "style.css' rel='stylesheet' type='text/css'");
</script> 

Con este código solamente logramos identificar estos navegadores:
//IE = Microsoft Internet Explorer
//MZ = Mozilla (or mozilla supported web browsers)
//SF = Apple safari
//OP = Opera
//KQ = Konqueror
//UK = DESCONOCIDO

Espero tengan ganas de aportar.

PD: tengan en cuenta que para mi esto es un logro ya que no laburo con JavaScript en lo posible.
__________________
-- May The Force Be With You --
  #2 (permalink)  
Antiguo 21/07/2008, 02:36
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 4 meses
Puntos: 24
Respuesta: [MEJORAR] Un detector de navegador.

En mi opinión, hay situaciones en las que no es suficiente con saber el tipo de navegador sino que se necesita saber la versión. Especialmente con IE, a menudo conviene saber si estamos en IE6 o en IE7. Y de hecho para solventarlo se suele usar CSS condicional para IE.
__________________
Grupos de Música
Pop Music Stars
  #3 (permalink)  
Antiguo 20/12/2009, 14:41
Avatar de Juancameneses  
Fecha de Ingreso: octubre-2009
Ubicación: Medellín
Mensajes: 5
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: [MEJORAR] Un detector de navegador.

Hola,
Mira El Codigo que me dieron:

<script language="JavaScript">

<!--
var navegador = navigator.appName
if (navegador == "Microsoft Internet Explorer")
direccion=("ErrorBrowseie.html");
else
direccion=("ErrorBrowseie.html")
window.location=direccion;
//-->

</script>

ya tu diseñas tus paginas de errores.
si quieres agregar mas navegadores reescribe lo que esta en negrita y listo.
si tienes dudas [email protected].

espero que te funcione.
  #4 (permalink)  
Antiguo 20/12/2009, 14:56
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: [MEJORAR] Un detector de navegador.

Hola Juancameneses

Te recuerdo el aviso que había al final de este tema y que parece que no has leído.



Tema cerrado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:05.