我已经制作了一个脚本来检测浏览器的详细信息(浏览器版本,用户代理等),与Chrome工作正常,但问题是IE11和FF36 . 从一开始,我就让chrome和FF正常工作,但IE浏览器名称显示“Netscape” . 经过一些研究后,我发现“MSIE”令牌已被删除并替换为“rv” . 所以我在我的JS中将IE的令牌更改为“rv”并运行脚本,但是当我在FF上测试它时,它然后将浏览器名称显示为“Microsoft Internet Explorer” . 因此,如果有人能够让我深入了解为什么或者如果我错过了我的代码中的某些东西,那就太好了 .

//OS version
        var osversion = navigator.platform;

        var objappVersion = navigator.appVersion;
        var objAgent = navigator.userAgent;
        var objbrowserName = navigator.appName;
        var objfullVersion = '' + parseFloat(navigator.appVersion);
        var objBrMajorVersion = parseInt(navigator.appVersion, 10);
        var objOffsetName, objOffsetVersion, ix;

        // In Chrome 
        if ((objOffsetVersion = objAgent.indexOf("Chrome")) != -1) {
            objbrowserName = "Chrome";
            objfullVersion = objAgent.substring(objOffsetVersion + 7);
        }
        // In Microsoft internet explorer
        else if ((objOffsetVersion = objAgent.indexOf("MSIE")) != -1) {
            objbrowserName = "Microsoft Internet Explorer";
            objfullVersion = objAgent.substring(objOffsetVersion + 5);
        }

        // In Firefox
        else if ((objOffsetVersion = objAgent.indexOf("Firefox")) != -1) {
            objbrowserName = "Firefox";
        }
        // In Safari 
        else if ((objOffsetVersion = objAgent.indexOf("Safari")) != -1) {
            objbrowserName = "Safari";
            objfullVersion = objAgent.substring(objOffsetVersion + 7);
            if ((objOffsetVersion = objAgent.indexOf("Version")) != -1)
                objfullVersion = objAgent.substring(objOffsetVersion + 8);
        }
        // For other browser "name/version" is at the end of userAgent 
        else if ((objOffsetName = objAgent.lastIndexOf(' ') + 1) <
                    (objOffsetVersion = objAgent.lastIndexOf('/'))) {
            objbrowserName = objAgent.substring(objOffsetName, objOffsetVersion);
            objfullVersion = objAgent.substring(objOffsetVersion + 1);
            if (objbrowserName.toLowerCase() == objbrowserName.toUpperCase()) {
                objbrowserName = navigator.appName;
            }
        }
        // trimming the fullVersion string at semicolon/space if present
        if ((ix = objfullVersion.indexOf(";")) != -1)
            objfullVersion = objfullVersion.substring(0, ix);
        if ((ix = objfullVersion.indexOf(" ")) != -1)
            objfullVersion = objfullVersion.substring(0, ix);

        objBrMajorVersion = parseInt('' + objfullVersion, 10);
        if (isNaN(objBrMajorVersion)) {
            objfullVersion = '' + parseFloat(navigator.appVersion);
            objBrMajorVersion = parseInt(navigator.appVersion, 10);
        }

        window.onload = function () {
            document.getElementById("browser").innerHTML = objbrowserName;
            document.getElementById("fullV").innerHTML = objfullVersion;
            document.getElementById("majorV").innerHTML = objbrowserName + " " + objBrMajorVersion;
            document.getElementById("appName").innerHTML = navigator.appName;
            document.getElementById("userAgent").innerHTML = navigator.userAgent;
}