Быстренько набросал давно уже:
var Browser = {};
if (/(Trident|Gecko|WebKit|KHTML|Presto)\W*([.,\w]+)*/i.test(navigator.userAgent)) {
Browser.layoutEngineName = RegExp.$1.toLowerCase();
Browser.layoutEngineVersion = RegExp.$2;
}
if (window.opera) {
Browser.name = 'opera';
Browser.version = opera.version();
} else if (/(MSIE|Firefox|Chrome|Safari|Konqueror)\W*([.,\w]+)*/i.test(navigator.userAgent)) {
Browser.name = RegExp.$1.toLowerCase();
Browser.version = RegExp.$2;
}