Jquery浏览器版本检测

时间:2011-07-05 08:03:55

标签: jquery firefox-5

操作系统:Windows XP

浏览器:Firefox 5.0(使用它并从3.5更新)

Jquery:1.6.2(来自cdn http://code.jquery.com/jquery.min.js

在我的jquery脚本中,我使用浏览器检测功能,它返回1.9.2.15版本,但在这里:http://en.wikipedia.org/wiki/Mozilla_Firefox_5#Version_5.0没有这样的版本!我也有问题,因为我的脚本认为它适用于Firefox 3.6而不是5.0。

这是firefox的用户代理错误还是jquery?

感谢。

UPD:看来这是firefox错误,用http://developer.yahoo.com/yui/examples/yahoo/yahoo_ua_detection_clean.html检查,它创建了对象YAHOO.env.ua,其值为 gecko:1.92 !!!

UPD2:检查我的浏览器http://davecardwell.co.uk/javascript/jquery/plugins/jquery-browserdetect/检测到 您使用的是版本:3.6.15(3.6)

UPD3:在Windows 7上使用干净的firefox测试 - UA版本= 5.0

UPD4:发布到bugzilla https://bugzilla.mozilla.org/show_bug.cgi?id=669267

UPD5:对不起大家,在“about:config”字符串替换中找到。这是旧的插件bug。感谢firefox开发人员的回答。问题已结束。我不会删除这个问题所以每个人都会知道在恐慌之前检查“about:config”:)

2 个答案:

答案 0 :(得分:1)

您必须使用jQuery插件才能看到“真正的”浏览器版本:
http://jquery.thewikies.com/browser/

实时测试案例:http://jsfiddle.net/Zf3NW/1/
(注意它包含在管理资源下)

在Chrome和Firefox下测试并返回了真实版本。

答案 1 :(得分:0)

你得到的版本 - 1.9.2.15 - 是Gekko渲染引擎的版本,而不是Firefox本身的版本。

每个版本的Firefox都附带一个特定版本的Gekko,因此如果您知道该用户正在运行Firefox,您可以从中计算出Firefox版本。

但事实上,市场上许多较小的浏览器(例如Camino,Flock,IceWeasel等)都是从大牌浏览器中借用它们的渲染引擎。因为其他浏览器也使用它,包括Gekko,所以给定版本的Gekko可以在Firefox中运行,但它也可以在另一个浏览器中运行。

JQuery无法说明这一点,但它也并不关心 - 只要它知道它是哪个渲染引擎,以及哪个版本处理JQuery需要担心的一切,因为浏览器使用相同的渲染引擎通常会呈现几乎相同的页面。

希望能为您解释一下。