Foros del Web » Programando para Internet » Javascript »

Clase detectar explorador y version.

Estas en el tema de Clase detectar explorador y version. en el foro de Javascript en Foros del Web. He creado esta clase para saber que navegador y que versión se está usando para poder hacer las aplicaciones web lo mas compatible posible. Archivo ...
  #1 (permalink)  
Antiguo 25/03/2007, 08:54
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 18 años, 5 meses
Puntos: 2
Clase detectar explorador y version.

He creado esta clase para saber que navegador y que versión se está usando para poder hacer las aplicaciones web lo mas compatible posible.

Archivo class.iDkBrowser.js:
Código:
//////////////////////
// CLASE iDkBrowser //
//////////////////////

function iDkBrowser()
{
	//////////////////////////
	// PROPIEDADES PÚBLICAS //
	//////////////////////////
	
	this.motor_navigator_iDkBrowser    = null;
	this.name_navigator_iDkBrowser     = null;
	this.version_navigator_iDkBrowser  = null;
	this.nameObject_iDkBrowser         = "iDkBrowserObject";


	//////////////////////////
	// PROPIEDADES PRIVADAS //
	//////////////////////////

	this.navigator_motor_iDkBrowser   = navigator.appCodeName;
	this.navigator_name_iDkBrowser    = navigator.appName;
	this.navigator_user_iDkBrowser    = navigator.userAgent;
	
	// Motores Browsers.
	this.motorBrowsers_iDkBrowser     = new Array;
	this.motorBrowsers_iDkBrowser[0]  = "MICROSOFT INTERNET EXPLORER";
	this.motorBrowsers_iDkBrowser[1]  = "NETSCAPE";
	this.motorBrowsers_iDkBrowser[2]  = "OPERA";
	
	// Browsers Internet Explorer.
	this.browsersFamily_iDkBrowser    = new Array;
	this.browsersFamily_iDkBrowser[0] = new Array( "MSIE 6.0",   8 );
	this.browsersFamily_iDkBrowser[1] = new Array( "Opera 7.23", 10 );
	
	// Browsers Netscape.
	this.browsersFamily_iDkBrowser[2] = new Array( "Netscape/8.1.2",  14 );
	this.browsersFamily_iDkBrowser[3] = new Array( "Netscape6/6.01",  14 );
	this.browsersFamily_iDkBrowser[4] = new Array( "Firefox/2.0.0.3", 15 );
	
	// Browsers Opera.
	this.browsersFamily_iDkBrowser[5] = new Array( "Opera/9.10", 10 );
	

	//////////////////////
	// MÉTODOS PÚBLICOS //
	//////////////////////

	this.detect_iDkBrowser = detect_iDkBrowser;
}


//////////////////////////////////////////
// Metodo publico: detect_iDkBrowser(); //
//////////////////////////////////////////

function detect_iDkBrowser()
{	
	///////////////
	// VARIABLES //
	///////////////
	
	var cont  = null;
	var cont2 = null;

	for( cont = 0; cont < this.motorBrowsers_iDkBrowser.length; cont++ )
	{
		if( this.navigator_name_iDkBrowser.toUpperCase() == this.motorBrowsers_iDkBrowser[cont]  )
		{
			for( cont2 = 0; cont2 < this.browsersFamily_iDkBrowser.length; cont2++ )
			{
				if( this.navigator_user_iDkBrowser.indexOf( this.browsersFamily_iDkBrowser[cont2][0] ) >= 0 )
				{
					this.motor_navigator_iDkBrowser   = navigator.appCodeName;
					this.name_navigator_iDkBrowser    = navigator.appName;					
					
					
					this.version_navigator_iDkBrowser = this.navigator_user_iDkBrowser.substring( this.navigator_user_iDkBrowser.indexOf(
																								  this.browsersFamily_iDkBrowser[cont2][0] ),
																								  this.navigator_user_iDkBrowser.indexOf(
																								  this.browsersFamily_iDkBrowser[cont2][0] ) + 
																								  this.browsersFamily_iDkBrowser[cont2][1] );
				}
			}			
		}
	}
}

Archivo index.html:
Código:
<html>

	<head>
		
		<title> Prueba iDkBrowser </title>
		
		<script src="class.iDkBrowser.js" language="javascript"></script>
		
	</head>
	
	<body>
	
		<script language="javascript">
		
			var iDkBrowserObject = new iDkBrowser();
			
				iDkBrowserObject.detect_iDkBrowser();
				
			document.write("<b>Motor del navegador:</b> "+ iDkBrowserObject.name_navigator_iDkBrowser +"<br>");
			document.write("<b>Motor basado en:</b> "+ iDkBrowserObject.motor_navigator_iDkBrowser +"<br>");
			document.write("<b>Version del navegador:</b> "+ iDkBrowserObject.version_navigator_iDkBrowser +"<br>");
			
		</script>
	
	</body>
	
</html>
Mini Tutorial (Hacerlo mas funcional):
Código:
Añadir un nuevo explorador
+------------------------+

this.browsersFamily_iDkBrowser[num] = new Array( "Nombre del explorador", Tamaño de caracteres del nombre del explorador );


Ejemplo:

- Añadir explorador con el nombre explorito5.9:

this.browsersFamily_iDkBrowser[6] = new Array( "explorito5.9", 12 );

// 12 caracteres del nombre: explorito5.9.



Añadir un motor de explorador
+---------------------------+

this.motorBrowsers_iDkBrowser[num]  = "Nombre del motor del explorador";


Ejemplo:

- Añadir motor con el nombre GatoRayosX:

this.motorBrowsers_iDkBrowser[3]  = "GatoRayosX";

No esta del todo perfecta pero me funciona para las aplicaciones que voy desarrollando de momento.

Esta probado en:
- Internet Explorer 6.
- Opera 7.23
- Opera 9.10
- Netscape 6.01
- Netscape 8.1.2
- Mozilla Firefox 2.0.0.3

PD: Si alguien lo prueba con Safari o algun browser más y se anima a añadirlo pues se lo agradecería.

PD1: Podeis ver una "demo" aqui.

Saludos!!
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




La zona horaria es GMT -6. Ahora son las 18:11.