Obtener navegador y sistema operativo con javascript

Interesante código desarrollado por la gente de quirksmode, se trata de una clase javascript que nos permitirá de manera sencilla obtener el navegador, la versión y el sistema operativo de los usuarios que visiten nuestra página.

El código fuente

Este es el código del objeto BrowserDetect, el cual nos permitirá obtener la información del navegante, para poder utilizarlo tendremos que incluirlo en nuestras páginas, bien con un fichero externo o directamente en nuestro código html.

<script type="text/javascript">
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
</script>

Modo de uso

Para utilizarlo es tan sencillo como invocar a los métodos del objeto correspondientes

  • BrowserDetect.browser (devuelve el navegador)
  • BrowserDetect.version (devuelve la versión del navegador)
  • BrowserDetect.OS (devuelve el sistema operativo)

Por ejemplo, si quisiéramos mostrar en nuestra página la información al visitante, bastaría con poner algo como esto

<script type="text/javascript">
document.write('Estás usando ' + BrowserDetect.browser + ' versión ' + BrowserDetect.version + ' bajo ' + BrowserDetect.OS);
</script>

Artículos relacionados



Comentarios en Obtener navegador y sistema operativo con javascript

Hay 5 Comentarios en el artículo Obtener navegador y sistema operativo con javascript, ¿a qué esperas para dar tu opinión?


  1. Ces dice:

    tengo una pregunta, a ver si puedes resolvermela… ¿cómo mostrar a un visitante de un blog, por ejemplo, las keywords que le han llevado hasta el blog en cuestión?

    Ejemplo: “Has llegado hasta aqui buscando “obtener navegador javascript”"

  2. [...] Algo muy útil y un poco divertido para quien lo ve, es mostrar, a través de texto el navegador y sistema operativo de nuestros visitantes. [...]

  3. Alvaro dice:

    Necesito usar este código en una página jsp, y pasarle estos parámetros (navegador, sistema, etc.) a un servlet.

    Tienes idea cómo es ?

    Muchas gracias desde ya

    • Emilio dice:

      Supongo que será más sencillo hacerlo desde java que con javascript, sino, puedes hacer la llamada al servlet con un location de javascript pasándole estos parámetros.

Deja un comentario