0

可能重复:
$.browser 的替代品是什么

我依靠 jQuery 已弃用的$.browser功能为某些浏览器应用怪异修复。例子:

if ($.browser.msie && $.browser.version < 9) {

这个功能在 jQuery 1.9 中被删除了,所以我正在寻找一个替代方案。jQuery 建议使用Modernizr进行特征检测,但该插件似乎没有涵盖我需要的功能。此功能的(非)官方替代品是什么?

4

2 回答 2

3

jQuery.browser()方法自 jQuery 1.3 以来已被弃用,并在 1.9 中被删除

来自 jQuery API 文档:

$.browser与其使用检测当前用户代理并根据正在运行的浏览器更改页面呈现,不如使用特征检测。为了使这个过程更简单,jQuery 执行了许多这样的测试并设置 jQuery.support对象的属性。

对于更高级的功能检测,您应该按照 @Pointy 的建议使用Modernizr 。

于 2013-01-31T16:02:17.487 回答
2

如果您导入 Modernizr,您可以使用以下内容测试 IE 版本:

if ($('body').is('.lt-ie9 *')) {
  // IE8, 7, 6 ...
}

编辑——哎呀,我修好了;$(document)不起作用,我现在不记得为什么。

Modernizr 还具有许多更具体的特征检测能力,并且它是可配置的,因此您只能获得所需的检测。它无法检测到一切;布局错误之类的东西很难自动检测到。

于 2013-01-31T15:59:57.023 回答