5

我正在使用以下代码来获取系统中 IE 的版本。

    var browser = navigator.appName;
    var b_version = navigator.appVersion;
    var version = parseFloat(b_version);
    alert(version);

但是IE^和IE7中的版本总是4。我怎样才能得到确切的版本?

4

4 回答 4

7

你得到 4 因为 navigator.appVersion 字符串以 4.0 开头,就像这样。

4.0 (compatible; MSIE 6.0; Windows NT 5.0; ...)

如果您这样做,您将获得MSIE 6.0上述情况

alert(navigator.appVersion.match(/MSIE [\d.]+/))

如果你只想6.0你可以这样做

alert(navigator.appVersion.match(/MSIE ([\d.]+)/)[1])
于 2009-12-18T05:27:23.220 回答
4

使用版本检测通常不是一个好主意——事实上,甚至不推荐浏览器检测!相反,尝试对象检测

于 2009-12-18T05:14:07.443 回答
2

如果检测到 IE ,下面的函数isIE返回 IE 版本,否则返回FALSE

function isIE () {
  var myNav = navigator.userAgent.toLowerCase();
  return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;
}

这是基于weroro的答案。

于 2013-06-25T13:24:36.953 回答
-2

尝试这样的事情:

<script language="javascript">
        Event.observe(window, 'load', function() {
            var el = $("browserName");
            var BO = detectBrowser();
            if(BO.ie6){
                el.innerHTML = "<b>We do not support IE6. Please click <a href=\"http://www.microsoft.com/windows/downloads/ie/getitnow.mspx\">here</a> to upgrade.</b>";
            }else{
                el.innerHTML = "<b>Thank You for not running IE6.</b>";
            }
        });
</script>
于 2009-12-18T05:13:24.407 回答