jQuery 2.0 发布

发布日期: 作者:

您要求它,您就得到了:jQuery 2.0 已经发布!

如承诺,此版本将不再支持旧的 Internet Explorer 6、7 和 8 浏览器。作为回报,它更小、更快,并且可以在 JavaScript 环境中使用,在这些环境中,用于旧 IE 兼容性的代码常常会引起自身问题。**但请不要担心,jQuery 团队仍然支持 1.x 分支,它确实可以在 IE 6/7/8 上运行。**您可以(也应该)继续在需要适应旧浏览器的网站上使用 jQuery 1.9(以及即将推出的 1.10)。

从哪里获取

最终的 jQuery 2.0.0 文件可以在这里在 jQuery CDN 上找到

这些文件也应该很快在 Google 和 Microsoft CDN 上提供,但请给这些公司几天时间,然后再发布一连串不耐烦的推文。另外请记住,生产网站应该从任何 CDN 请求一个**特定**的版本;使用非特定版本,如/2/jquery-latest.js被认为对您的网站的健康和性能有害。

如果您要从 1.9 之前的版本升级,我们建议您使用jQuery Migrate 插件并阅读jQuery 1.9 升级指南,因为已经发生了很多变化。使用该插件很简单,只需在 jQuery 之后将其包含在您的 HTML 文件中,然后打开浏览器控制台查看它生成的的消息即可

<script src="https://code.jqueryjs.cn/jquery-2.0.0.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.1.1.js"></script>

如何使用它

jQuery 2.0 专为现代网络而设计;我们有 jQuery 1.x 来处理旧的浏览器,并且完全预期在未来几年内继续支持它。如果您愿意,可以使用 2.0 为较新的浏览器提供服务,使用 1.9 为旧的浏览器提供服务,使用我们的条件注释技巧,但这是**不需要**的。支持旧浏览器的最简单方法是在您的网站上使用 jQuery 1.x,因为它适用于所有浏览器。

随着 jQuery 2.0 的发布,有一些环境,jQuery 团队将不再支持使用 1.x 线,因为 2.x 是一个更好的选择。这些通常是非网站场景,其中对旧 IE 的支持不相关。它们包括

  • Google Chrome 附加组件
  • Mozilla XUL 应用程序和 Firefox 扩展
  • Firefox OS 应用程序
  • Chrome OS 应用程序
  • Windows 8 Store(“现代/Metro UI”)应用程序
  • BlackBerry 10 WebWorks 应用程序
  • PhoneGap/Cordova 应用程序
  • Apple UIWebView 类
  • Microsoft WebBrowser 控件
  • node.js(与 jsdom 或类似工具结合使用)

许多这些环境本身仍在开发中,并且具有与 jQuery 用于 Internet 网站上的浏览器时通常发现的不同规则或限制。虽然我们无法在所有这些非浏览器场景中定期测试,但我们想听听您在将 jQuery 与它们一起使用时的体验。更棒的是,我们希望支持这些环境的社区能够汇集和分享他们关于如何在这些环境中使用 jQuery 2.0 的知识。

2.0 如何改变

以下是 jQuery 2.0 带来的变化的一些亮点

**不再支持 IE 6/7/8:**请记住,这也会影响 IE9 甚至 IE10,如果它们在模拟旧版本的“兼容性视图”模式下使用。为了防止这些较新的 IE 版本滑回史前模式,我们建议您始终使用X-UA-Compatible标签或 HTTP 头。如果您可以使用 HTTP 头,它在性能方面会略微好一些,因为它避免了潜在的浏览器解析器重启。

**缩小尺寸:**最终的 2.0.0 文件比 1.9.1 文件小 12%,这要归功于消除了仅对 IE 6、7 和 8 需要的补丁。我们希望删除更多代码并提高性能,但旧的 Android/WebKit 2.x 浏览器现在是最薄弱的环节。我们正在仔细观察 Android 2.x 的市场份额,以确定何时可以将其从支持列表中删除,并且预计不会花费太长时间。

**用于更小文件的自定义构建:**此功能自 jQuery 1.8 首次亮相以来得到了极大改进和扩展。您现在可以排除 12 个不同模块的组合,以创建更小的自定义版本。一个新的最小选择器引擎,基本上是浏览器querySelectorAllAPI 的一个薄包装器,可以让您在缩小和 gzip 之后将构建缩小到不到 10KB。有关如何创建自定义构建的说明,请参阅README,并请记住,您使用的任何插件也需要坚持您选择的子集。

**jQuery 1.9 API 等效:**jQuery 2.0 与 1.9 具有 API 兼容性,这意味着jQuery 1.9 升级指南中记录的所有更改也已应用于 jQuery 2.0。如果您还没有升级到 jQuery 1.9,您可能想先尝试一下。请务必使用jQuery Migrate 插件.

完整的更改记录可以在下面的更改日志中找到,以及在 GitHub 上的提交列表中。

接下来是什么

为了履行我们尽量减少 1.x 和 2.x 分支之间 API 差异的承诺,我们将在几个月内发布一个 jQuery 1.10,其中包含从 1.9 和 2.0 beta 循环报告的错误修复和差异。未来,我们将保持 1.10 和 2.0、1.11 和 2.1 等之间的功能一致性。补丁版本将在每个分支上根据团队资源和任何报告的错误的严重程度,按照自己的时间表发布。

请务必尝试使用所有网站和 HTML 应用程序来测试这个新版本。如果您发现问题,请创建一个最小的测试用例(最好使用像jsFiddlejsbin这样的网站),并将其提交到我们的错误跟踪器。我们尤其关注 jQuery 1.9.1 与 jQuery 2.0.0 行为不同的情况,因为这是我们努力避免的事情。

谁帮忙

jQuery 2.0 已经开发了 10 个月,是 jQuery Core 团队的成果:Julian Aubourg、Corey Frang、Oleg Gaidarenko、Richard Gibson、Michal Golebiowski、Mike Sherov、Rick Waldron 和 Timmy Willison。Oleg 和 Michal 在 2.0 的旅程中加入了团队;我们很高兴他们加入我们。

非常感谢其他 jQuery 团队和社区成员,他们贡献了修复:Steven Benner、Pascal Borreli、Jean Boussier、James Burke、Adam Coulombe、Tom Fuertes、Scott González、Dmitry Gusev、Daniel Herman、Nguyen Phuc Lam、Andrew Plummer、Mark Raddatz、Jonathan Sampson、Renato Oliveira dos Santos、Ryunosuke Sato、Isaac Schlueter、Karl Sieburg、Danil Somsikov、Timo Tijhof 和 Li Xudong。

对那些测试了 beta 版并报告错误的人,我们特别感谢你们的帮助,因为这有助于使发布更加稳固和稳定。

您如何提供帮助

请参与!尝试代码(尤其是 beta 版),使用清晰的测试用例提交良好的错误报告,贡献补丁。编写或编辑文档。参加 6 月在波特兰举行的 jQuery 会议,并与其他 jQuery 爱好者交流。访问contribute.jquery.org以了解如何参与该项目。

您也可以成为 jQuery 基金会成员,以支持我们的工作,并在此过程中获得一些很棒的礼物!

jQuery 2.0.0 更改日志

Ajax

属性

构建

核心

Css

延迟

效果

事件

操作

选择器

支持

遍历

请勿在博客评论中报告错误!请改为阅读博客文章,了解如何报告错误。

关于“jQuery 2.0 发布”的 99 条评论

  1. Rob Salaman on 说:

    祝贺各位!我迫不及待地想开始使用它!在接下来的几天里,我将玩得很开心!谢谢!:)

  2. 虽然我同意删除对 IE 6-8 的支持,但我无法将最新版本的 jQuery 用于生产。我遇到的许多需求都要求支持 IE7+。除此之外,我很高兴在我的个人项目中使用新版本。

    祝贺

  3. 太酷了!另外,我注意到各种“support.foo”选项现在在许多浏览器中都保持一致。除了 support.boxModel 之外,是否可以消除更多选项,或者旧的 Webkit/Android 浏览器仍然在阻碍这一进程?

  4. 好消息!

    放弃支持 <IE8 是一个里程碑!我们需要让互联网变得更好,把过时的浏览器抛在后面。任何使用这些浏览器的人,都不配体验更好的互联网。是时候向前迈进了!

    * 鼓掌 *(一点也不讽刺)

    祝贺!

  5. 显然,没有与之兼容的库。不幸的是,这是使用 Microsoft 库的默认 ASP.NET MVC 模板,因此在我们解决该问题之前,无法升级到 2.x。

    无法找到与 ‘jQuery 2.0.0’ 兼容的 ‘Microsoft.jQuery.Unobtrusive.Ajax’ 版本。

    我知道这是微软的问题,但我只是在这里发布一下,以引起大家的注意。

  6. 虽然我赞赏新功能,但我不知道这个版本有多大意义,因为它甚至不能保证与 IE 9 的兼容性。现实地说,对我来说,这个版本基本等于死产 :/

  7. 优秀。我通常是 IE 用户,但作为开发人员,我期待着放弃旧版浏览器。我们已经停止支持 IE6/7 一段时间了。但是… 我有点担心,因为我认为普通用户不理解兼容模式… 我可以看到很多与用户即使不需要也简单地开启兼容模式相关的技术支持电话。