我使用以下代码获取系统中的IE版本。
var browser = navigator.appName;
var b_version = navigator.appVersion;
var version = parseFloat(b_version);
alert(version);
但在IE ^和IE7中,版本总是得到4。我怎样才能得到确切的版本?
答案 0 :(得分: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])
答案 1 :(得分:4)
使用版本检测通常不是一个好主意 - 实际上,甚至不建议使用浏览器检测!相反,请尝试object detection。
答案 2 :(得分:2)
如果检测到IE,则以下函数 isIE 返回IE版本,否则返回 FALSE
function isIE () {
var myNav = navigator.userAgent.toLowerCase();
return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;
}
这是基于weroro的the answer here。
答案 3 :(得分:-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>