1

我们想停止对 IE8 的支持,为此我们需要找到客户端正在使用的浏览器和版本(我们可以在客户端使用navigator.userAgent或在服务器端 [jsp] 使用User-Agent客户端发送的标头与请求)。

问题是我们强制浏览器使用 IE8 引擎(文档模式 8)使用 metadata: 呈现页面<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">,因此用户将像 IE 8 浏览器一样操作。

无论如何我们可以找到实际的IE版本,忽略文档模式(兼容模式)?

4

2 回答 2

1

I figured a way to do it, we can do it by figuring out the Javascript interpreter version:

var IE = (function () {
        "use strict";
        var ret, isTheBrowser, actualVersion, jscriptMap, jscriptVersion;

        isTheBrowser = false;
        jscriptMap = {"5.5": "5.5", "5.6": "6", "5.7": "7", "5.8": "8", "9": "9", "10": "10", "11": "11"};
        jscriptVersion = new Function("/*@cc_on return @_jscript_version; @*/")();

        if (jscriptVersion !== undefined) {
            isTheBrowser = true;
            actualVersion = jscriptMap[jscriptVersion];
            if (actualVersion === undefined) {
                actualVersion = jscriptVersion;
            }
        } 

        ret = {isTheBrowser: isTheBrowser, actualVersion: actualVersion};

        return ret;
    }());
于 2014-12-01T07:42:59.737 回答
0

是的。我们可以使用 JQuery 或使用 Java Script 找到。

要在 Java Script 中查找,我们编写:

 function checkBrowserVersion() {

            var ua = window.navigator.userAgent;
            var ie = ua.indexOf("MSIE ");

            if (ie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))    
                alert(parseInt(ua.substring(ie + 5, ua.indexOf(".", ie))));
            else                 
                alert('Other Browser!!');
           return false;
         }

如果您想使用 Jquery,那么我们可以简单地使用:

if ( $.browser.msie ) {
  alert( $.browser.version );
}

注意:如果您使用的是 Jquery 1.9 或更高版本,那么您还必须包含jquery-migrate插件。 快乐编码!!!

于 2014-11-27T05:42:38.927 回答