Простая JavaScript-идентификация IE 5.x

function isIe5x() {
    return !document.compatMode && document.all;
}

Основная идея в том, что свойство document.compatMode, в относительно современных браузерах содержащее текущий режим рендеринга (CSS1Compat или BackCompat), в IE 5.x просто отсутствует — ведь эти версии IE банально понятия не имеют о существовании стандартов и, соответственно, различных режимов рендеринга. Таким образом, мы можем однозначно идентифицировать («сниффить») IE ниже 6-й версии.

Дополнительная проверка на поддержку проприетарного document.all, придуманного в Microsoft, позволяет отсечь браузер Safari, который, возможно, из излишне идеалистических воззрений разработчиков создавался исключительно в расчёте на web-стандарты и в котором (по меньшей мере, применительно к версии 3.02 Beta для Windows), как ни странно, данное свойство, в отличие от любого другого современного браузера (Firefox, Opera, Konqueror или IE 6+), тоже не поддерживается.

В отличие от распространённых методов, определяющих версию браузера вверх (например, IE 5+), данный способ позволяет надёжно распознать IE ниже версии 6 и при этом непосредственно внутри скрипта, не прибегая к обходным манёврам вроде условных комментариев.