Foros del Web » Programando para Internet » Javascript »

_Detectando Browsers Gecko (¿imposible distinguirlos?)_

Estas en el tema de _Detectando Browsers Gecko (¿imposible distinguirlos?)_ en el foro de Javascript en Foros del Web. Muy buenas compañer@s. Tengo que reconocerlo, por más que lo he intentado he de rendirme y acudir a la eterna sabiduría de algunos miembros de ...
  #1 (permalink)  
Antiguo 05/03/2008, 13:18
 
Fecha de Ingreso: mayo-2007
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 0
Pregunta _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Muy buenas compañer@s. Tengo que reconocerlo, por más que lo he intentado he de rendirme y acudir a la eterna sabiduría de algunos miembros de forosdelweb.

Y es que verán, llevo ya una semana trabajando/modificando y en la mediada de lo posible mejorando el script detector de navegadores y demás que aparece en este link:

http://www.quirksmode.org/js/detect.html

Pero la cosa es que ando trasteando con la familia de navegadores Gecko (Mozilla, SeaMonkey, Epiphany...); así he conseguido detectarlos cada uno por separado. Veamos el ejemplo:

Código:
	   {//   SeaMonkey
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "SeaMonkey"
		},	
		{ // Epiphany
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Epiphany"
		},
		{   // Mozilla
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla"
		},
Y luego poniendo algo como esto:

Código:
 if (BrowserDetect.browser == "SeaMonkey") ... 
else if (BrowserDetect.browser == "Epiphany") ...
else if (BrowserDetect.browser == "Mozilla") ...
Abreviando, que tampoco quiero robarles mucho tiempo; pues resulta que al usar los 3 códigos (uno para cada browser) funcionan como uno solo (supongo que porque todos son de la familia Gecko...).

Pero yo necesito poder diferenciarlos cuando trabajan conjuntamente... (por separado no plantea problemas). Y ciertamente no sé cómo ...

Por favor, les necesito; ¿tienen alguna sugerencia sobre qué poner en la detección de esos navegadores que los consiga diferenciar entre ellos? Espero que sí (con esa esperanza estoy posteando).

Estaré totalmente atento a sus respuestas e intentaré aclarar algo si es que no me expliqué correctamente .

Desde ya les doy un fuerte (aplauso) y agradezco muchísimo su esfuerzo y empeño. ¡¡ Saludos y hasta pronto !!
  #2 (permalink)  
Antiguo 06/03/2008, 04:32
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

tiene que ser con JS obligatoriamente?
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 06/03/2008, 06:30
 
Fecha de Ingreso: mayo-2007
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Hola !! gracias por comenzar a responder.

No, no tiene que ser con javascript, estoy abierto a cualquier posibilidad... Hasta pronto. Cualquier sugerencia será bienvenida, ya que he probado mil combinaciones y no han dado buenos resultados.
  #4 (permalink)  
Antiguo 06/03/2008, 06:47
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
De acuerdo Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

que lenguaje de servidos usas?

PHP, ASP, JSP, Perl ....

Si usas PHP tal vez te interse la variable:
Código PHP:
$_SERVER["HTTP_USER_AGENT"
ejemplo $_SERVER["HTTP_USER_AGENT"] en Firefox:
Código:
Mozilla/5.0 (Windows; U; Windows NT 5.1; eu; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
ejemplo $_SERVER["HTTP_USER_AGENT"] en IE6:
Código:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
ejemplo $_SERVER["HTTP_USER_AGENT"] en IE7:
Código:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
ejemplo $_SERVER["HTTP_USER_AGENT"] en Opera:
Código:
Opera/9.23 (Windows NT 5.1; U; es-es)
ejemplo $_SERVER["HTTP_USER_AGENT"] en Safari:
Código:
Mozilla/5.0 (Windows; U; Windows NT 5.1; es) AppleWebKit/522.15.5 (KHTML, like Gecko) Version/3.0.3 Safari/522.15.5
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan

Última edición por ZiTAL; 06/03/2008 a las 06:54
  #5 (permalink)  
Antiguo 06/03/2008, 15:12
 
Fecha de Ingreso: mayo-2007
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 0
Sonrisa Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

PHP sería posible, gracias. Pero esos ejemplos no resuelven la confusión entre distintos Geckos...

Sigo abierto a propuestas, ya sea usando javascript o no.

Saludos y gracias de nuevo!!
  #6 (permalink)  
Antiguo 06/03/2008, 15:38
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
De acuerdo Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

claro es que yo no tengo instalados todos esos navegadores no se cual seria el resultado.

Solamente seria buscar una un texto dentro de otro texto y hacer un case ;)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #7 (permalink)  
Antiguo 07/03/2008, 01:58
 
Fecha de Ingreso: mayo-2007
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Saludos nuevamente amgos !!

El enlace de descarga del Seamonkey (por si alguien lo quiere) es este (última versión y en español):

http://releases.mozilla.org/pub/mozi....installer.exe

Por otro lado, el Mozilla está aquí:

http://ftp.mozilla.org/pub/mozilla.o....installer.exe

Así, desearí saber alguna propuesta más precisa por favor. Pues con todas las combinaciones que he intentado aún no he logrado distinguir, por ejemplo, el SeaMonkey del Mozilla (al ser ambos, como ya apuntamos, de la familia Gecko...).

Hasta pronto !!
  #8 (permalink)  
Antiguo 10/03/2008, 14:25
 
Fecha de Ingreso: mayo-2007
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Por favor... de veras sigo muuuy interesado en este asunto. Tengo mis confianzas puestas en Uds....

Saludos y espero que hasta pronto amig@s !!
  #9 (permalink)  
Antiguo 10/03/2008, 14:57
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

como te lo digo yo es muy facil, lo que tienes que saber es donde poner los IF's:

con la funcion strstr buscas cadena dentro de otra cadena:
Código PHP:
if(strstr($_SERVER['HTTP_USER_AGENT'],'Firefox'))
 {
  
// Firefox
 
}

etc etc 
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan

Última edición por ZiTAL; 10/03/2008 a las 15:03
  #10 (permalink)  
Antiguo 11/03/2008, 15:48
 
Fecha de Ingreso: mayo-2007
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 0
Pregunta Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Hola nuevamente familia !!

He investigado un poco por Google y creo que se me habla de algo como esto (corrijanme si me equivoco, por favor):

Código:
<?php
  if (strstr($_SERVER[’HTTP_USER_AGENT’], “iPhone”))
  {
    echo ‘<meta name=”viewport” content=”width = 320″ />’;
  }
?>
No obstante, no sé cómo poder adaptar (pues no soy ningu experto en php) eso a las necesidades que conforme a los distintos Gecckos se me plantean.

Les ruego me comenten algo al respecto, por favor. Saludos y gracias desde ya !!
  #11 (permalink)  
Antiguo 11/03/2008, 17:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Porque no usas esta clase: Browser Detection.

Saludos.
  #12 (permalink)  
Antiguo 12/03/2008, 11:13
 
Fecha de Ingreso: mayo-2007
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Hola otra vez.

En esta ocasión agradeceré la aportación/enlace expuesto en el post previo; pues ha servido para darme ideas.

De todos modos, tras otras cuantas horas investigando en ese sentido, he llegado a la conclusión de que todos los métodos actuales de detección de navegador confunden al menos 2 de los 3 Geckos que me preocupan. Es por ello que, ante mi humilde situación, me veo obligado a desistir en este asunto de forma definitiva.

Por ello, siento decirles que hasta donde yo sé, son tan parecidos los navegadores (no en apariencia o diseño, sino en código y programación) que resulta a dia de hoy imposible su eficaz diferenciación.

No obstante, no me gustaría despedrime sin agradecer todo el esfuerzo llevado a cabo por los distintos expertos de forosdelweb; tan comprensivos como los que más y tan comprometidos con causas y problemas ajenos como si les fuera la vida en ello.

Por todo, muchas gracias por su colaboración y reciban un gran saludo de mi parte. Cuídense y espero que todo les vaya lo mejor posible amig@s !!
  #13 (permalink)  
Antiguo 25/03/2008, 11:23
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Hola todos :

En un viejo tema se había intentado listar la identificación de cada navegador a fin de poder discriminarlos

Detección de browsers

Son un poco viejos y no están todos los que buscas, pero a mi me parece que un Gecko siempre tiene que decir que es Gecko.

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>QUÉ MOTOR USO.</title>
<script type="text/javascript">
var alfa = navigator.userAgent;
alert(alfa);
var bravo = (alfa.indexOf("Gecko") == -1)? "No es Gecko" :  "Es Gecko";
document.write(bravo)

</script>
</head>
<body>

</body>
</html>
No puedo bajarme los navegadores para probar, pero ¿por qué no aprovechas que los tienes y nos das la identificación de cada uno? .Tiene que haber una palabra común a todos que podamos usar. Y si no, se pueden usar todos los nombres en una lista separadas por un signo operador OR, no hay necesidad de usar varios 'if'.
  #14 (permalink)  
Antiguo 04/04/2008, 01:53
 
Fecha de Ingreso: mayo-2007
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Hola de nuevo. Simplemente quería decir que lo que todos los navegadores comentados en mi petición de ayuda tienen en común el ser Gecko; por lo que cualquiera de ellos será identificado simplemente cuando haya uno que lo esté como Gecko.

Saludos.
  #15 (permalink)  
Antiguo 04/04/2008, 10:19
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 7 meses
Puntos: 35
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

loading..............

Entonces mmm no detectes directamente los GECKO sino detecta el nombre mismo del browser.

Código PHP:
        stringnavigator.userAgent,
            
subString"SeaMonkey",
            
identity"SeaMonkey"
        
},    
        { 
// Epiphany
            
stringnavigator.userAgent,
            
subString"Epiphany",
            
identity"Epiphany"
        
},
        {   
// Mozilla
            
stringnavigator.userAgent,
            
subString"Mozilla",
            
identity"Mozilla" 
Y bueno, si te interesa yo detecto browsers así.

Código PHP:
  var userAgent=navigator.userAgent;
   var 
u;
   var 
browser={
           
isIE:((userAgent.indexOf('MSIE')>=0)?true:false),
           
isNS:((userAgent.indexOf('Netscape6/')>=0)?true:false),
           
isFF:((userAgent.indexOf('Firefox')>=0)?true:false),
           
isSF:((userAgent.indexOf('Safari')>=0)?true:false),
           
isGK:((userAgent.indexOf('Gecko')>=0)?true:false),
           
isMO:((userAgent.indexOf('Mozilla')>=0)?true:false),
           
isIphone:((userAgent.indexOf('iPhone')>=0)?true:false),
           
isOP:((userAgent.indexOf('Opera')>=0)?true:false)
   };
   
browser.isIE=(browser.isOP)?false:browser.isIE;

alert(browser.isFF
connection closed.
__________________

Maborak Technologies
  #16 (permalink)  
Antiguo 04/04/2008, 11:16
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Además de todo, hay que considerar cosas como esta:

Mozilla/5.0 (compatible; Konqueror/3.5; Linux; X11; x86_64) KHTML/3.5.6 (like Gecko)

Mozilla/5.0 ($OS; U; $LANGUAGE; rv:1.8.0) Gecko/20060728 Firefox/1.5.0 Opera $VERSION


Uno de los mejores programitas para detectar esto es
http://www.howtocreate.co.uk/tutoria...s/sniffer.html
http://www.howtocreate.co.uk/jslibs/...h/sniffer.html

y ya ves que ni se molesta en distinguir entre los basados en gecko.

Las estadísticas están bien, pero no son tan sencillas lamentablemente.
Imagino que esa es tu intención: estadísticas. Te convendría distinguir de forma genérica (Gecko, WebKit/KHTML, Opera, IE) y dentro de esos subgrupos distinguir como puedas. Y cuando no puedas distinguirlos, simplemente mostrar las cadenas User-Agent, o mostrarlas como "Gecko genérico" o similar.

Tampoco es que sea tan útil para un sitio saber si fue visto con Galeon o Epiphany... sabiendo que fue visto con un navegador Gecko es suficiente (creo).


Saludos.
  #17 (permalink)  
Antiguo 09/04/2008, 15:44
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

El problema es que uno no está para andar adivinando, alvlin. Pero si lo estuviera, yo no apostaría a que bodyboard_jerez esté buscando una estadística entre quienes usan Gecko, para saber con qué versión navegan. Aunque me puedo equivocar; porque debes darte cuenta mi estimado bodyboard_jerez, que cada mensaje que escribes es más incomprensible que el anterior. Así que puedes estar buscando cualquier cosa.

Vamos a aprovechar este tema para llevar un poco más adelante la idea de Kaopectate. Porque si realmente hay que extraer el nombre del navegador desde su identificación, la única manera es ver esa identificación en cada uno; tal como dije más arriba.

Y tratemos de evitar esos códigos prefabricados. La mayoría son para cutandpasters que no entienden ni lo que están leyendo, y en muchos casos me he encontrado con que el escript esta más complicado a propósito, para que todavía sea más dificil de entender. Hagamos el ejemplo nosotros mismos, simple, como el que puse en mi mensaje anterior, que lo puede interpretar cualquier inútil negado de la tecnología.

Voy a dejar un documento para probar en cada browser. Estoy seguro de que se le puede agregar algo más, y por supuesto que se aceptan sugerencias. Pero que sean métodos, lo que tenemos que saber es cuáles funcionan en qué navegadores y cómo.
Para que quede más claro : navigator.userLanguage no funciona en Firefox; pero dentro de navigator.appVersion sí aparece el idioma. A nosotros no nos interesa cómo ver el idioma, sino qué devuelve en cada caso, [u]así que no hace falta que armen el escript compatible[u].

Código:
<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01 TransitionalEN" "http:www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>DATOS.</title>
<script type="text/javascript">

var alfa = navigator.accentColorName;
var bravo = navigator.appCodeName;
var charly = navigator.appMinorVersion;
var delta = navigator.appName;
var eco =  navigator.appVersion;
var foxtrot = navigator.browserLanguage;
var golf = navigator.cookieEnabled;
var hotel = navigator.cpuClass;
var indio = navigator.__ice_version;
var julieta = navigator.language;
var kilo = navigator.mimeTypes;
var lima = navigator.onLine;
var mike = navigator.oscpu;
var noviembre = navigator.platform;
var oscar = navigator.plugins;
var papa = navigator.preference;
var quebec = navigator.product;
var romeo = navigator.productSub;
var sierra = navigator.refresh;
var tango = navigator.savePreferences;
var uniforme = navigator.securityPolicy;
var victor = navigator.systemLanguage;
var wisky = navigator.userAgent;
var xrayo = navigator.userLanguage;
var yankee = navigator.vendor;
var zulu = navigator.vendorSub;

var ALFA = navigator.javaEnabled();
var BRAVO = navigator.taintEnabled();

document.write("<p>• navigator.accentColorName : <br>"+ alfa + "</p>")

document.write("<p>• navigator.appCodeName : <br>"+ bravo + "</p>")

document.write("<p>• navigator.appMinorVersion : <br>"+ charly + "</p>")

document.write("<p>• navigator.appName : <br>"+ delta + "</p>")

document.write("<p>• navigator.appVersion : <br>"+ eco + "</p>")

document.write("<p>• navigator.browserLanguage : <br>"+ foxtrot + "</p>")

document.write("<p>• navigator.cookieEnabled : <br>"+ golf + "</p>")

document.write("<p>• navigator.cpuClass : <br>"+ hotel + "</p>")

document.write("<p>• navigator.__ice_version : <br>"+ indio + "</p>")

document.write("<p>• navigator.language : <br>"+ julieta + "</p>")

document.write("<p>• navigator.mimeTypes : <br>"+ kilo + "</p>")

document.write("<p>• navigator.onLine : <br>"+ lima + "</p>")

document.write("<p>• navigator.oscpu : <br>"+ mike + "</p>")

document.write("<p>• navigator.platform : <br>"+ noviembre + "</p>")

document.write("<p>• navigator.plugins : <br>"+ oscar + "</p>")

document.write("<p>• navigator.preference : <br>"+ papa + "</p>")

document.write("<p>• navigator.product : <br>"+ quebec + "</p>")

document.write("<p>• navigator.productSub : <br>"+ romeo + "</p>")

document.write("<p>• navigator.refresh : <br>"+ sierra + "</p>")

document.write("<p>• navigator.savePreferences : <br>"+ tango + "</p>")

document.write("<p>• navigator.securityPolicy : <br>"+ uniforme + "</p>")

document.write("<p>• navigator.systemLanguage : <br>"+ victor + "</p>")

document.write("<p>• navigator.userAgent : <br>"+ wisky + "</p>")

document.write("<p>• navigator.userLanguage : <br>"+ xrayo + "</p>")

document.write("<p>• navigator.vendor : <br>"+ yankee + "</p>")

document.write("<p>• navigator.vendorSub : <br>"+ zulu + "</p>")

document.write("<p>• navigator.javaEnabled() : <br>"+ ALFA + "</p>")

document.write("<p>• navigator.taintEnabled() : <br>"+ BRAVO + "</p>")

</script>
</head>
<body>

</body>
</html>
Si alguien tiene la buena voluntad de compartir el resultado -para cada uno de sus navegadores instalados- con nuestra comunidad, le estaremos muy agradecidos. Por mi parte, aprovecho para para dejar los 2 primeros.

Un Internet Explorer 6 / XP.

• navigator.accentColorName :
undefined

• navigator.appCodeName :
Mozilla

• navigator.appMinorVersion :
;SP2;

• navigator.appName :
Microsoft Internet Explorer

• navigator.appVersion :
4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)

• navigator.browserLanguage :
es

• navigator.cookieEnabled :
true

• navigator.cpuClass :
x86

• navigator.__ice_version :
undefined

• navigator.language :
undefined

• navigator.mimeTypes :


• navigator.onLine :
true

• navigator.oscpu :
undefined

• navigator.platform :
Win32

• navigator.plugins :


• navigator.preference :
undefined

• navigator.product :
undefined

• navigator.productSub :
undefined

• navigator.refresh :
undefined

• navigator.savePreferences :
undefined

• navigator.securityPolicy :
undefined

• navigator.systemLanguage :
es

• navigator.userAgent :
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)

• navigator.userLanguage :
es-ar

• navigator.vendor :
undefined

• navigator.vendorSub :
undefined

• navigator.javaEnabled() :
true

• navigator.taintEnabled() :
false



Un Firefox 2 / XP.

• navigator.accentColorName :
undefined

• navigator.appCodeName :
Mozilla

• navigator.appMinorVersion :
undefined

• navigator.appName :
Netscape

• navigator.appVersion :
5.0 (Windows; es-ES)

• navigator.browserLanguage :
undefined

• navigator.cookieEnabled :
true

• navigator.cpuClass :
undefined

• navigator.__ice_version :
undefined

• navigator.language :
es-ES

• navigator.mimeTypes :
[object MimeTypeArray]

• navigator.onLine :
true

• navigator.oscpu :
Windows NT 5.1

• navigator.platform :
Win32

• navigator.plugins :
[object PluginArray]

• navigator.preference :
function preference() { [native code] }

• navigator.product :
Gecko

• navigator.productSub :
20080404

• navigator.refresh :
undefined

• navigator.savePreferences :
undefined

• navigator.securityPolicy :

• navigator.systemLanguage :
undefined

• navigator.userAgent :
Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

• navigator.userLanguage :
undefined

• navigator.vendor :

• navigator.vendorSub :

• navigator.javaEnabled() :
true

• navigator.taintEnabled() :
false


Última edición por furoya; 19/05/2008 a las 11:10 Razón: actualizar código
  #18 (permalink)  
Antiguo 09/04/2008, 18:11
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 7 meses
Puntos: 35
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

loading.............


EN MOZILLA
Código:
navigator.userAgent :
Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13; MEGAUPLOAD 1.0

navigator.appCodeName :
Mozilla

navigator.appName :
Netscape

navigator.appVersion :
5.0 (Windows; es-AR)

navigator.platform :
Win32

navigator.javaEnabled() :
true

navigator.cookieEnabled :
true

navigator.browserLanguage :
undefined

navigator.userLanguage :
undefined
En teoría, el nombre del browser (como aplicación) estaría en navigator.appCodeName


connection closed.
__________________

Maborak Technologies
  #19 (permalink)  
Antiguo 09/04/2008, 19:16
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

furoya, realmente parece que no leíste los enlaces que pasé.
Si lo hubieras hecho, habrías visto que en el primero de ellos el autor hace lo mismo que proponés: detectar a los navegadores según sus capacidades.
Tampoco hablé en ningún momento de "andar adivinando", simplemente pienso que, si te interesa hacer un sitio que funcione en "todos" los navegadores, no podés atacar el problema intentando saber de qué navegador se trata, sino proveyendo alternativas dependiendo de lo que uno sabe que el navegador soporta (o no).

La identificación de navegador no vale para nada más que estadísticas, ¿para qué otra cosa querrías usarla? Si tu respuesta es "para que mi script sea compatible entre navegadores", te recomiendo ir a la biblioteca más cercana y leerte un buen libro de Javascript...

Pero en fin, estoy de acuerdo con lo demás que dijiste, y siempre me parece interesante la idea de hacer las cosas por uno mismo.

MaBoRaK, quizás en teoría sea así pero la verdad es que IE, FF, Opera y Konqueror se identifican como "Mozilla". Así de grande es el daño que los "browser sniffers" hicieron en la época de Netscape.


Saludos.
  #20 (permalink)  
Antiguo 15/04/2008, 14:56
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Gracias MaBoRaK. Ahora tengo una duda : ¿el navegador es "Mozilla - Mozilla" o "Mozilla - Firefox"? Digo, porque al final dice Firefox/2.0.0.13.
De cualquier forma, puede ser que sea un Mozilla original, ya todos hemos descubierto que Firefox y MSIE identifican su origen como Mozilla, aunque el primero se identifica como una aplicación Netscape, que en realidad es un motor Gecko; y más confuso es Opera, que puede identificarse de varias maneras según su configuración; por no hablar de que Safari se identifica en los prefijos propietarios CSS como -khtml-, que es prefijo de Konqueror.

Sí. La promiscuidad entre navegadores ya es un relajo.

Con respecto a tu último mensaje, alvlin, en lo único que le acertaste fue en que no leí tus enlaces. Tampoco sé si vale la pena, era mejor descubrir que no se puede extraer un subString para el nombre investigando por nosotros mismos; porque lo importante no es que no se pueda, sino por qué : tanto se insiste con hacer funcionar el asunto de los estándares ... ¡y todavía no hay uno compatible para la identificación de browsers!

Y me preocupa que estés "de acuerdo con lo demás" que dije. Alguien que "cree" que propongo "detectar a los navegadores según sus capacidades", o que no entiende que lo de "adivinar" es un tiro por elevación para bodyboard_jerez, o que nunca vio (p.e.) un mensaje que dice

Estás usando un navegador [aquí el nombre del navegador cliente] que es una porquería. Cambia por [aquí el nombre del navegador recomendado] y aprende a navegar.!

no me hace sentir muy reconfortado con su apoyo.

Y hay más. Ya sé que estos foros se han llenado de gente que carecen de conocimientos mínimos, pero que igual se animan a preguntar y -peor aún- a responder con lamentables resultados; pero se supone que en principio, si estamos contestando en el Foro de Javascript desde hace años, más que "leer un buen libro de Javascript", deberíamos estar preparados para escribirlo. De hecho, es lo que estamos haciendo con nuestros mensajes.

Dejo un par de enlaces más. Así completamos un poco el tema.

detectar al navegador OPERA

"Agregar a Favoritos" no funciona en Opera
  #21 (permalink)  
Antiguo 16/04/2008, 08:51
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Cita:
Iniciado por furoya Ver Mensaje
tanto se insiste con hacer funcionar el asunto de los estándares ... ¡y todavía no hay uno compatible para la identificación de browsers!
Justamente, si se respetaran las normativas, no sería necesario identificarlos más que para estadísticas. Y como todos tendrían las mismas capacidades, no habría necesidad de falsear el User-Agent (cosa que se hace justamente para evitar a los detectores de navegador) y por lo tanto se podría confiar en la información que el navegador da.

Cita:
Iniciado por furoya Ver Mensaje
Y me preocupa que estés "de acuerdo con lo demás"
Bueno, no lo vuelvo a hacer.

Cita:
Iniciado por furoya Ver Mensaje
Alguien que "cree" que propongo "detectar a los navegadores según sus capacidades"
Que es lo que sugieren los expertos, pero bueno, haz lo que quieras...
Sigo manteniendo que saber el navegador del visitante solamente es útil para estadísticas.
Las diferencias entre los navegadores en su implementación de Javascript no molestan para las tareas más comunes (validación de formularios, mostrar/ocultar partes de la página, incluso implementaciones sencillas de AJAX). Y las que molestan, se pueden obviar usando las excelentes bibliotecas que tenemos disponibles: jQuery, prototype o YUI.
O sabiendo los elementos que necesitamos y los que tenemos disponibles.
Así, si mañana Firefox empieza a proveer la cadena esa que encontraste que no está hoy en día, tu script no se rompe ni falla de ninguna manera.

Cita:
Iniciado por furoya Ver Mensaje
o que no entiende que lo de "adivinar" es un tiro por elevación para bodyboard_jerez
Cita:
Iniciado por furoya Ver Mensaje
El problema es que uno no está para andar adivinando, alvlin
Cita:
Iniciado por furoya Ver Mensaje
o que nunca vio (p.e.) un mensaje que dice
No, claro que nunca lo vi, si no navego con Opera desde hace más de 6 años...
Soy nuevito en esto de la interné...

Por favor no asumas algo tan ridículo.

Cita:
Iniciado por furoya Ver Mensaje
si estamos contestando en el Foro de Javascript desde hace años, más que "leer un buen libro de Javascript", deberíamos estar preparados para escribirlo.
Estás equivocado. Los foros no son para que 3 "gurús" se dediquen a contestar las preguntas de los demás, sino para que los que saben "un poco más" ayuden a los que saben "un poco menos" y así vamos subiendo el nivel entre todos, si el que contesta se molesta en aprender detalles de sus respuestas.
Lo que proponés se puede dar en un foro de soporte pago, no en una comunidad abierta como esta.

¿Acaso pensás que quienes contestan ya son posibles autores de libros?
No hay que ser experto para conocer algunos detalles que otros pueden no conocer. Un buen libro (y nuevo, para no contagiarse de las viejas malas costumbres) siempre es de ayuda, sea en el tema que sea.

A propósito, en lo que estaba de acuerdo contigo es en el espíritu del "hazlo tú mismo y aprende". En eso coincidimos.


Saludos.

Última edición por AlvaroG; 16/04/2008 a las 08:57
  #22 (permalink)  
Antiguo 18/04/2008, 07:44
 
Fecha de Ingreso: mayo-2007
Mensajes: 41
Antigüedad: 17 años, 6 meses
Puntos: 0
De acuerdo Re: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Muy buenas amig@s. Me ha dado alegría ver cómo se agranda el post. Perdón por no escribir nada antes; pero es que hemos tenido problemas familiares y hasta ahora no he podido retomar el tema.

Bueno, gracias a toda la peña por aportar ideas. Sobre el uso o finalidad de la diferenciación entre navegadores, pues cada cual tendrá una u otra (en mi caso no es el de estadísticas, la verdad...). Lo importante es que cada cual lo use como mejor le parezca.

Así, no es nada mala idea detectar directamente con el nombre del navegador; sin meternos en complicaciones con Gecko y tal. Por ello, gracias.

En fin, espero que todo les vaya bien y un saludo !!
  #23 (permalink)  
Antiguo 19/05/2008, 11:01
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Lamento leer eso, bodyboard_jerez. Espero que en este tiempo hayas podido resolver tu problema.

Ya que estoy de vuelta por el Foro, actualicé el código que puse más arriba (y nobleza obliga, alvlin, tomé como ejemplo uno de los que linkeaste tú ).

Agrego también el resultado en otras combinaciones de navegadores y sistemas operativos

Un Opera / Dreamlinux.

• navigator.accentColorName :
undefined

• navigator.appCodeName :
Mozilla

• navigator.appMinorVersion :

• navigator.appName :
Opera

• navigator.appVersion :
9.20 (X11; Linux i686; U; en)

• navigator.browserLanguage :
en

• navigator.cookieEnabled :
true

• navigator.cpuClass :
undefined

• navigator.__ice_version :
undefined

• navigator.language :
en

• navigator.mimeTypes :
[object MimeTypes]

• navigator.onLine :
undefined

• navigator.oscpu :
undefined

• navigator.platform :
Linux

• navigator.plugins :
[object PluginArray]

• navigator.preference :
undefined

• navigator.product :
undefined

• navigator.productSub :
undefined

• navigator.refresh :
undefined

• navigator.savePreferences :
undefined

• navigator.securityPolicy :
undefined

• navigator.systemLanguage :
undefined

• navigator.userAgent :
Opera/9.20 (X11; Linux i686; U; en)

• navigator.userLanguage :
en

• navigator.vendor :
undefined

• navigator.vendorSub :
undefined

• navigator.javaEnabled() :
true

• navigator.taintEnabled() :
false



Un Iceweasel / Dreamlinux.

• navigator.accentColorName :
undefined
• navigator.appCodeName :
Mozilla
• navigator.appMinorVersion :
undefined
• navigator.appName :
Netscape
• navigator.appVersion :
5.0 (X11; en-US)
• navigator.browserLanguage :
undefined
• navigator.cookieEnabled :
true
• navigator.cpuClass :
undefined
• navigator.__ice_version :
undefined
• navigator.language :
en-US
• navigator.mimeTypes :
[object MimeTypeArray]
• navigator.onLine :
true
• navigator.oscpu :
Linux i686
• navigator.platform :
Linux i686
• navigator.plugins :
[object PluginArray]
• navigator.preference :
function preference() { [native code] }
• navigator.product :
Gecko
• navigator.productSub :
20070310
• navigator.refresh :
undefined
• navigator.savePreferences :
undefined
• navigator.securityPolicy :
• navigator.systemLanguage :
undefined
• navigator.userAgent :
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070310
Iceweasel/2.0.0.3 (Debian-2.0.0.3-1)
• navigator.userLanguage :
undefined
• navigator.vendor :
• navigator.vendorSub :
• navigator.javaEnabled() :
true
• navigator.taintEnabled() :
false



Un Internet Explorer 7 / XP.

• navigator.accentColorName :
undefined

• navigator.appCodeName :
Mozilla

• navigator.appMinorVersion :
0

• navigator.appName :
Microsoft Internet Explorer

• navigator.appVersion :
4.0 (compatible; MSIE 7.0; Windows NT 5.1)

• navigator.browserLanguage :
es

• navigator.cookieEnabled :
true

• navigator.cpuClass :
x86

• navigator.__ice_version :
undefined

• navigator.language :
undefined

• navigator.mimeTypes :


• navigator.onLine :
false

• navigator.oscpu :
undefined

• navigator.platform :
Win32

• navigator.plugins :


• navigator.preference :
undefined

• navigator.product :
undefined

• navigator.productSub :
undefined

• navigator.refresh :
undefined

• navigator.savePreferences :
undefined

• navigator.securityPolicy :
undefined

• navigator.systemLanguage :
es

• navigator.userAgent :
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)

• navigator.userLanguage :
es

• navigator.vendor :
undefined

• navigator.vendorSub :
undefined

• navigator.javaEnabled() :
true

• navigator.taintEnabled() :
false



Todos me llegaron por gentileza de personas ajenas a FdW; porque aquí no parece haber mucha voluntad de colaborar. Bueno, está claro que yo tampoco soy Kaopectate.

Lo que me gustaría es ver cómo se identifican SeaMonkey o Epiphany. Tengo curiosidad por saber qué diferencias hay entre estos Gecko.
  #24 (permalink)  
Antiguo 19/05/2008, 17:07
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 7 meses
Puntos: 35
Respuesta: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

loading..............


Cita:
Todos me llegaron por gentileza de personas ajenas a FdW; porque aquí no parece haber mucha voluntad de colaborar. Bueno, está claro que yo tampoco soy Kaopectate.
Voluntad para colaborar? no colaboramos a cosas TRIVIALES o INNECESARIAS, somos prácticos con nuestro conocimiento.

en este negocio solo existen 3 tipos de interprete browser: Gecko - Khtml - IE ... para que indagar en el tipo de browser? todo está en el motor que tienen cada uno. Por lo tanto Epiphany y SeaMonkey son lo mismo.


connection closed.
__________________

Maborak Technologies
  #25 (permalink)  
Antiguo 20/05/2008, 14:27
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Bueno, en realidad tú ya colaboraste, y también ya te agradecí.

Y por las dudas alguien llega a pensar que estamos hablando en serio, digamos que comparar las identificaciones va más allá de averiguar un motor. Que encima son algunos más, como Opera o Tasman o Trident; aunque estos últimos no sé si todavía se usan.
De cualquier forma son muy pocos; sigo pensando que con un buen ahorro de condicionales se podría saber el nombre del navegador.

También me gustaría saber cómo se identifican otros que no usen pantalla, como los de voz o braille.

Gracias a todos.


[edit]

Ya que estamos ... aprovecho y edito este mensaje para agregar algunos modos de Opera (gratuito) en Windows.


Un Opera9.27 / XP (Declarar Opera).

• navigator.accentColorName :
undefined

• navigator.appCodeName :
Mozilla

• navigator.appMinorVersion :

• navigator.appName :
Opera

• navigator.appVersion :
9.27 (Windows NT 5.1; U; es-es)

• navigator.browserLanguage :
es-es

• navigator.cookieEnabled :
true

• navigator.cpuClass :
undefined

• navigator.__ice_version :
undefined

• navigator.language :
es-es

• navigator.mimeTypes :
[object MimeTypes]

• navigator.onLine :
undefined

• navigator.oscpu :
undefined

• navigator.platform :
Win32

• navigator.plugins :
[object PluginArray]

• navigator.preference :
undefined

• navigator.product :
undefined

• navigator.productSub :
undefined

• navigator.refresh :
undefined

• navigator.savePreferences :
undefined

• navigator.securityPolicy :
undefined

• navigator.systemLanguage :
undefined

• navigator.userAgent :
Opera/9.27 (Windows NT 5.1; U; es-es)

• navigator.userLanguage :
es-es

• navigator.vendor :
undefined

• navigator.vendorSub :
undefined

• navigator.javaEnabled() :
false

• navigator.taintEnabled() :
false



Éstas son las versiones enmascaradas. Lo que falta es porque está repetido y no vale la pena copiarlo.

Un Opera9.27 / XP (Simular Firefox).

• navigator.appName :
Netscape

• navigator.appVersion :
5.0 (Windows NT 5.1; U; es-es; rv:1.8.0)

• navigator.userAgent :
Mozilla/5.0 (Windows NT 5.1; U; es-es; rv:1.8.0) Gecko/20060728 Firefox/1.5.0



Un Opera9.27 / XP (Simular Internet Explorer).

• navigator.appName :
Microsoft Internet Explorer

• navigator.appVersion :
4.0 (compatible; MSIE 6.0; Windows NT 5.1; es-es)

• navigator.userAgent :
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; es-es)



Un Opera9.27 / XP (Identificar como Firefox).

• navigator.appName :
Netscape

• navigator.appVersion :
5.0 (Windows NT 5.1; U; es-es; rv:1.8.0)

• navigator.userAgent :
Mozilla/5.0 (Windows NT 5.1; U; es-es; rv:1.8.0) Gecko/20060728 Firefox/1.5.0 Opera 9.27



Un Opera9.27 / XP (Identificar como IE).

• navigator.appName :
Microsoft Internet Explorer

• navigator.appVersion :
4.0 (compatible; MSIE 6.0; Windows NT 5.1; es-es)

• navigator.userAgent :
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; es-es) Opera 9.27



[/edit]

Última edición por furoya; 11/07/2008 a las 10:38 Razón: agregar identificaciones
  #26 (permalink)  
Antiguo 20/10/2008, 17:04
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

Y también para el beta de Chrome

Un Chrome / XP.

• navigator.accentColorName :
undefined

• navigator.appCodeName :
Mozilla

• navigator.appMinorVersion :
undefined

• navigator.appName :
Netscape

• navigator.appVersion :
5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13

• navigator.browserLanguage :
undefined

• navigator.cookieEnabled :
true

• navigator.cpuClass :
undefined

• navigator.__ice_version :
undefined

• navigator.language :
es-ES

• navigator.mimeTypes :
[object MimeTypeArray]

• navigator.onLine :
undefined

• navigator.oscpu :
undefined

• navigator.platform :
Win32

• navigator.plugins :
[object PluginArray]

• navigator.preference :
undefined

• navigator.product :
Gecko

• navigator.productSub :
20030107

• navigator.refresh :
undefined

• navigator.savePreferences :
undefined

• navigator.securityPolicy :
undefined

• navigator.systemLanguage :
undefined

• navigator.userAgent :
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13

• navigator.userLanguage :
undefined

• navigator.vendor :
Google Inc.

• navigator.vendorSub :

• navigator.javaEnabled() :
true


Un detalle por si quieren propar el código que dejé más arriba : van a tener que anular

Código:
//var BRAVO = navigator.taintEnabled();

...

//document.write("<p>• navigator.taintEnabled() : <br>"+ BRAVO + "</p>")
porque lo cuelga.

Y como ven, es otro que dice Gecko, Mozilla, Netscape por todas partes.
  #27 (permalink)  
Antiguo 05/04/2009, 13:53
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: _Detectando Browsers Gecko (¿imposible distinguirlos?)_

También el Safari para windows.

Un Safari 3.1.2 / Win XP.

• navigator.accentColorName :
undefined

• navigator.appCodeName :
Mozilla

• navigator.appMinorVersion :
undefined

• navigator.appName :
Netscape

• navigator.appVersion :
5.0 (Windows; U; Windows NT 5.1; es-ES) AppleWebKit/525.19 (KHTML, like Gecko) Version/3.1.2 Safari/525.21

• navigator.browserLanguage :
undefined

• navigator.cookieEnabled :
true

• navigator.cpuClass :
undefined

• navigator.__ice_version :
undefined

• navigator.language :
es-ES

• navigator.mimeTypes :
[object MimeTypeArray]

• navigator.onLine :
undefined

• navigator.oscpu :
undefined

• navigator.platform :
Win32

• navigator.plugins :
[object PluginArray]

• navigator.preference :
undefined

• navigator.product :
Gecko

• navigator.productSub :
20030107

• navigator.refresh :
undefined

• navigator.savePreferences :
undefined

• navigator.securityPolicy :
undefined

• navigator.systemLanguage :
undefined

• navigator.userAgent :
Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES) AppleWebKit/525.19 (KHTML, like Gecko) Version/3.1.2 Safari/525.21

• navigator.userLanguage :
undefined

• navigator.vendor :
Apple Computer, Inc.

• navigator.vendorSub :

• navigator.javaEnabled() :
true


Y dos que ya estaban, pero en nuevas versiones

Un Internet Explorer 8 / XP.

• navigator.accentColorName :
undefined

• navigator.appCodeName :
Mozilla

• navigator.appMinorVersion :
0

• navigator.appName :
Microsoft Internet Explorer

• navigator.appVersion :
4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

• navigator.browserLanguage :
es

• navigator.cookieEnabled :
true

• navigator.cpuClass :
x86

• navigator.__ice_version :
undefined

• navigator.language :
undefined

• navigator.mimeTypes :


• navigator.onLine :
true

• navigator.oscpu :
undefined

• navigator.platform :
Win32

• navigator.plugins :
[object HTMLPluginsCollection]

• navigator.preference :
undefined

• navigator.product :
undefined

• navigator.productSub :
undefined

• navigator.refresh :
undefined

• navigator.savePreferences :
undefined

• navigator.securityPolicy :
undefined

• navigator.systemLanguage :
es

• navigator.userAgent :
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

• navigator.userLanguage :
es-ar

• navigator.vendor :
undefined

• navigator.vendorSub :
undefined

• navigator.javaEnabled() :
true

• navigator.taintEnabled() :
false


De Opera 10 pongo el único cambio.

Un Opera 10 / XP.
• navigator.userAgent :
Opera/9.80 (Windows NT 5.1; U; es-ES) Presto/2.2.15 Version/10.00

Última edición por furoya; 25/10/2009 a las 09:53
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.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 19:12.