Esto es específico de jQuery y contiene un pequeño truco / corrección para tratar con Chrome. Esto funciona entre jQuery 1.5.1 y jQuery 1.8.3. Se ha ido en jQuery 1.9. Presumiblemente porque se usó de manera demasiado incorrecta con demasiada frecuencia y estaba dañando la web. Es mejor detectar funciones cuando sea posible.
var userAgent = navigator.userAgent.toLowerCase(), browser = '', version = 0; $.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase()); // Is this a version of IE? if ($.browser.msie) ( userAgent = $.browser.version; userAgent = userAgent.substring(0,userAgent.indexOf('.')); version = userAgent; browser = "Internet Explorer"; ) // Is this a version of Chrome? if ($.browser.chrome) ( userAgent = userAgent.substring(userAgent.indexOf('chrome/') + 7); userAgent = userAgent.substring(0,userAgent.indexOf('.')); version = userAgent; // If it is chrome then jQuery thinks it's safari so we have to tell it it isn't $.browser.safari = false; browser = "Chrome"; ) // Is this a version of Safari? if ($.browser.safari) ( userAgent = userAgent.substring(userAgent.indexOf('safari/') + 7); userAgent = userAgent.substring(0,userAgent.indexOf('.')); version = userAgent; browser = "Safari"; ) // Is this a version of Mozilla? if ($.browser.mozilla) ( //Is it Firefox? if (navigator.userAgent.toLowerCase().indexOf('firefox') != -1) ( userAgent = userAgent.substring(userAgent.indexOf('firefox/') + 8); userAgent = userAgent.substring(0,userAgent.indexOf('.')); version = userAgent; browser = "Firefox" ) // If not then it must be another Mozilla else ( browser = "Mozilla (not Firefox)" ) ) // Is this a version of Opera? if ($.browser.opera) ( userAgent = userAgent.substring(userAgent.indexOf('version/') + 8); userAgent = userAgent.substring(0,userAgent.indexOf('.')); version = userAgent; browser = "Opera"; ) // Now you have two variables, browser and version // which have the right info