Hola a todos.
Aunque el tema ya he visto que es antiguo, aquí os dejo una función autoejecutada para que la podais incluir en vuestros script. Genera propiedades nuevas en el objeto window (variables globales, vamos) para saber navegador, versión, compatibilidad con mozilla y motor de rendeo. La he probado con IE, Firefox, Chrome, Opera y Safari
Supongo que sobre la misma idea y con expresiones regulares se podría reducir mucho el código... pero no son mi fuerte, la verdad :)
Espero que os sirva
Código Javascript
:
Ver original//Definimos las caracteresiticas del navegador
(function(){
var idx, i;
var navigators=['msie', 'firefox', 'chrome', 'safari', 'opera'];
var renderingEngines=['trident', 'applewebkit', 'khtml', 'gecko', 'presto'];
var str=navigator.userAgent.toLowerCase();
//Inicializamos las propiedades en window
window.navigatorApplication='unknow';
window.navigatorVersion=0;
window.navigatorMozilla=0;
window.navigatorRE='unknow';
window.navigatorREVersion='';
//Miramos el navegador
for (i=0; i<navigators.length; i++){
idx=str.indexOf(navigators[i]);
if (idx!=-1){
window.navigatorApplication=navigators[i];
//Nos buscamos la versión
window.navigatorVersion=parseFloat(str.substr(idx + navigators[i].length + 1));
break;
};
};
//Miramos si es compatible mozilla
idx=str.indexOf('mozilla');
if (idx!=-1) window.navigatorMozilla=parseFloat(str.substr(idx+8));
//Nos buscamos los motores de render
for (i=0; i<renderingEngines.length; i++){
idx=str.indexOf(renderingEngines[i]);
if (idx!=-1){
window.navigatorRE=renderingEngines[i];
//Nos buscamos la versión
str=str.substr(idx + renderingEngines[i].length + 1);
idx=str.search(/[;\s]/);
window.navigatorREVersion=str.substr(0, idx);
break;
};
};
})()
alert('Navegador:' + navigatorApplication + ' versión:' + navigatorVersion +
'\nCompatible con Mozilla versión:' + window.navigatorMozilla + '\nMotor de render:' + window.navigatorRE + ' (' + window.navigatorREVersion + ')');