1

操作系统: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”字符串替换中找到。这是旧插件错误。感谢Firefox开发人员的回答。问题关闭。我不会删除这个问题,所以每个人都会知道在恐慌之前检查“about:config”:)

4

2 回答 2

1

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

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

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

于 2011-07-05T08:18:41.020 回答
0

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

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

但问题是,市场上的许多小型浏览器(例如 Camino、Flock、IceWeasel 等)都从大牌浏览器那里借用了它们的渲染引擎。正如其他浏览器(包括 Gekko)也使用的那样,因此给定版本的 Gekko 可以在 Firefox 中运行,但它也可以在另一个浏览器中运行。

JQuery 无法分辨,但它也并不真正关心——只要它知道它是哪个渲染引擎,以及哪个版本可以处理 JQuery 需要担心的所有事情,因为浏览器使用相同的渲染引擎通常会呈现几乎相同的页面。

希望这对您有所解释。

于 2011-07-05T08:31:41.893 回答