如何通过javascript比较浏览器版本?
例如,如果脚本想知道用户是否正在使用Firefox 3.5 +
有什么办法吗?
答案 0 :(得分:7)
在应用之前,您应该使用object/feature detection来确保某些内容有效。从那个链接:
虽然浏览器检测效果很好 足够90%的访问者,一些 晦涩的浏览器将不会被处理 正确和出现的浏览器 你写完页面后可能没有 也应充分覆盖。该 结果将是一个流 错误消息或不是的脚本 在浏览器轻松调用时调用 处理它。在这两种情况下,你都是 欺骗你的最终用户和编码 不正确。
要获取浏览器版本,您可以使用Navigator object:
alert(navigator.appName + ' ' + navigator.appVersion);
答案 1 :(得分:4)
此代码获取Firefox的版本号:
var FFVersion = navigator.userAgent
.substring(navigator.userAgent.indexOf("Firefox"))
.split("/")[1];
您决定如何处理每一项:
window.onload = function() {
if (FFVersion < '3.5') { alert('please upgrade...') }
}
答案 2 :(得分:1)
在javascript中使用navigator.userAgent
你会得到一个像“Mozilla / 5.0(Windows; U; Windows NT 6.1; en-GB; rv:1.9.2)Gecko / 20100115 Firefox / 3.6”这样的字符串
对于firefox,最后一个数字是版本。
答案 3 :(得分:0)
现在Firefox失败了10.0。想出一个不同的版本:
// Takes 2 strings "2.3.4.5" and "2.5" and returns less, equal and greater than 0
// depending which one is bigger
function compareVersions(a, b) {
var v1 = a.split('.');
var v2 = b.split('.');
for(var i = 0; i < Math.min(v1.length, v2.length); i++) {
var res = v1[i] - v2[i];
if (res != 0)
return res;
}
return 0;
}
答案 4 :(得分:0)
将版本字符串解析为float类型,然后将它们与if语句或您想要的任何内容进行比较 以下是我用于检查IE浏览器版本的示例:
if(parseFloat($.browser.version) <= 8.0)
{
// Do whatever you want if browser version lower than equal to 8.0
}
else
{
// Do whatever you want if browser greater than 8.0
}