$.browser.msie 在 jQuery 1.9 中不再工作.替代品在哪里

$.browser.msie no longer works in jQuery 1.9. Where's the replacement?

本文关键字:不再 工作 替代品 在哪里 browser msie jQuery      更新时间:2023-09-26

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

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

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

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

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

来自 jQuery API 文档:

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

对于更高级的功能检测,您应该按照@Pointy的建议进行现代化。

如果导入 Modernizr,则可以使用如下所示的内容测试 IE 版本:

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

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

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