Почему IE 11 говорит, что это Firefox?

Когда я запускаю следующий скрипт в Chrome, Firefox и Safari, он без проблем обнаруживает себя, но когда я запускаю его в IE 11, консоль говорит, что IE 11 — это Firefox и IE.

function detectBrowser() {
    if ($.browser.mozilla && $.browser.version >= "1.8") {
        console.log("Browser: FireFox");
    }

    if ($.browser.opera) {
        console.log("Browser: Opera");
    }

    if ($.browser.safari) {
        console.log("Browser: Safari");
    }

    if ($.browser.chrome) {
        console.log("Browser: Chrome");
    }

    if ($.browser.msie && $.browser.version <= 6) {
        console.log("Browser: IE (Above v6)");
    }

    if ($.browser.msie && $.browser.version > 6) {
        console.log("Browser: IE (Below v6)");
    }

    if (isIE()) {
        console.log("Browser: IE 11");
    }
}

function isIE() {
    return ((navigator.appName == 'Microsoft Internet Explorer') || ((navigator.appName == 'Netscape') && (new RegExp("Trident/.*rv:([0-9]{1,}[\.0-9]{0,})").exec(navigator.userAgent) != null)));
}

IE теперь находится под детектированием Mozilla или мой код не совсем подходит для детектирования IE 11?


person collinhaines    schedule 13.08.2014    source источник