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>








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”"
Supongo que te referirás cuando entra en tu página a través de un buscador, en esos casos en PHP dispones de la variable $_SERVER['HTTP_REFERER']; que nos da la dirección desde donde ha venido, por ejemplo, si buscamos Emilio en el google y pinchamos en esta página, el referer sería algo así:
http://www.google.es/search?q=emilio&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:es-ES:official&client=firefox-a
El parámetro que tu necesitas es “q” que contiene el valor “Emilio”, para sacarlo podrás usar cualquier parseador de php.
Si no me equivoco, php dispone de la función parse_url() si haces esto
$datos = parse_url($url);
en $datos['query'] tendrás los datos que buscas, de todas maneras te recomiendo que leas la página oficial http://es.php.net/parse_url
Si lo quieres hacer con javascript, aquí te dejo unas funciones para parsear urls
http://emilio.aesinformatica.com/2009/02/21/obtener-parametros-de-una-url-con-javascript/
[...] 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. [...]
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
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.