Этот ответ очень устарел , но тогда он был очень актуален в каменный век.
Я думаю, что функция обнаружения является более полезной, чем анализатор navigator.userAgent, так как я погуглил Opera неоднозначность здесь . Никто не может знать, будет ли IE16 анализировать / MSIE 16.0; / regexp - но мы можем быть совершенно уверены, что будет поддержка document.all. В реальной жизни эти функции обычно являются синонимами для браузеров, например: "Нет XMLHttpRequest? Это f .... d IE6!"
Ни один браузер nonIE не поддерживает document.all, но некоторые браузеры, такие как Maxthon, могут шифровать userAgent. (Конечно, скрипт может определять document.all в Firefox по какой-то причине, но его легко контролировать.) Поэтому я предлагаю это решение.
Редактировать Здесь Я нашел полные ресурсы.
Редактировать 2 Я проверял этот документ. Все также поддерживается Opera!
var is = {
ff: window.globalStorage,
ie: document.all && !window.opera,
ie6: !window.XMLHttpRequest,
ie7: document.all && window.XMLHttpRequest && !XDomainRequest && !window.opera,
ie8: document.documentMode==8,
opera: Boolean(window.opera),
chrome: Boolean(window.chrome),
safari: window.getComputedStyle && !window.globalStorage && !window.opera
}
Использование просто:
if(is.ie6) { ... }