$ .browser.msie不再适用于jQuery 1.9。替换在哪里?

时间:2013-01-31 15:58:04

标签: javascript jquery

  

可能重复:
  What’s the replacement for $.browser

我依靠jQuery不推荐使用的$.browser功能来为某些浏览器应用quirk修复程序。例如:

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

此功能在jQuery 1.9中为removed所以我正在寻找替代方案。 jQuery建议使用Modernizr进行功能检测,但该插件似乎没有涵盖我需要的功能。这个功能的(联合国)官方替代品是什么?

2 个答案:

答案 0 :(得分:3)

自jQuery 1.3以来已弃用jQuery.browser()方法,并且在1.9

中删除了该方法

来自jQuery API文档:

  

而不是使用$.browser来检测当前用户代理并进行更改   基于浏览器运行的页面显示,这是一个很好的   练习使用特征检测。为了使这个过程更简单,   jQuery执行许多这样的测试并设置属性   jQuery.support对象。

对于更高级的功能检测,您应该像@Pointy建议的那样Modernizr

答案 1 :(得分:2)

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

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

编辑 - oops我修复了它; $(document)不起作用,我现在不记得为什么。

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