jQuery 2.0 Beta 3 发布

发布日期 作者

我们正在为 jQuery 2.0 的发布做最后的冲刺!今天发布了 Beta 3。

借用 Dirty Harry 的话:我知道你在想什么。“Beta 3 会不会破坏我的代码?” 嗯,说实话,在这么激动人心的时刻,我们可能忽略了一些细节,并引入了一些错误。所以,因为这是 jQuery,世界上最强大的 JavaScript 库,它可能将你的网站从互联网上彻底删除,所以你必须问自己一个问题:“我是否幸运?” 嗯,你认为呢?

我们不想意外地将你的网站从互联网上删除;不要指望幸运。这意味着我们非常需要你的帮助来发现并修复可能潜藏在 jQuery 2.0 的角落和缝隙中的任何错误。我们希望在正式发布之前解决所有问题,而唯一的方法是找出它是否与你的代码一起运行。

你可以在 jQuery CDN 获取这个最新版本:https://code.jqueryjs.cn/jquery-2.0.0-beta3.js

你也可以使用 jQuery Migrate 插件 与 jQuery 2.0 一起使用,以恢复来自旧版本中的弃用功能,并/或诊断兼容性问题。我们强烈建议你对旧代码使用 Migrate,它将节省调试中的大量时间和麻烦。

保持同步

请记住,jQuery 2.0将无法在 IE 6、7 或 8 上运行。你必须在“现代”模式下运行 Internet Explorer 9 或 10,并且不使用 X-UA-Compatible 功能,例如,强制 IE10 进入 IE7 模式。

jQuery 团队将继续同时支持 jQuery 1.x 和 2.x 线,只要那些旧版本的 IE 仍然是一个因素。当前发布的 jQuery 1.x 版本(1.9.1)具有与 jQuery 2.0 相同的 API。我们计划在几个月内对 1.x 线进行 1.10 更新,以解决两个版本之间任何细微的差异。在那时,我们仍然会保持两条线的同步:1.10 和 2.0、1.11 和 2.1,等等。

如果你想在仍然需要支持 IE 6、7 和 8 的网站上尝试 jQuery 2.0,可以使用条件注释。除旧 IE 之外的所有浏览器都将获取第二个脚本并忽略第一个

<!--[if lt IE 9]>
    <script src="jquery-1.9.1.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0b3.js"></script>
<!--<![endif]-->

但是请记住,jQuery 1.x 仍然适用于 jQuery 支持所有浏览器。

新增功能

以下是自 Beta 2 以来的一些主要变化

Node.js 兼容性。如果 jquery.js 文件通过require() 包含在 Node 中,它将导出 jQuery 对象。

Windows 8 Store 应用兼容性。一些仅在 IE 6/7/8 中需要的功能检测已删除,以防止 Windows Store 应用中的安全异常。

更多错误修复。此 Beta 包含自 jQuery 2.0 beta 2 和 jQuery 1.9.1 发布以来报告的错误的修复程序。完整的列表如下。

删除 jQuery.support.boxModel。自 jQuery 1.3 以来,任何人都应该使用此属性,因为它已被弃用,而 jQuery 本身从未支持 Quirks 模式。

对代码进行进一步的修剪和调整。修复错误通常会增加更多字节,但我们能够通过几十个字节实际减少完整缩小/gzip 版本的大小。

wrap 方法现在可以在自定义构建中排除。如果你(和使用的插件)没有调用任何 wrap 方法,例如.wrapAll().unwrap(),你可以将其从自定义构建中排除。

自定义构建小于 10k 字节!如果你能够排除所有可选模块,你将获得一个自定义构建,在缩小和 gzip 后仅为 9,226 字节。查看 beta 2 博客文章,了解如何进行自定义构建的更多信息。

完整的提交列表可在 GitHub 上找到,已关闭的错误单列在下面。感谢 Rick Waldron、Michal Golebiowski、Li Xudong、Timmy Willison、Nguyen Phuc Lam、Steven Benner、Tom Fuertes、Richard Gibson、Scott González 和 Oleg Gaidarenko 对此 Beta 的贡献。

Ajax

构建

核心

Css

Deferred

效果

事件

操作

选择器

支持

遍历

关于 “jQuery 2.0 Beta 3 发布” 的 11 个想法

  1. “Node.js 兼容性。如果 jquery.js 文件通过 require() 包含在 Node 中,它将导出 jQuery 对象。”

    那我们是否会获得一个官方的 jQuery 包到 npm 呢?Browserify 用户会很喜欢它。

  2. 您好,
    Windows 8 应用商店的兼容性是否已完成?
    我希望没有,因为我仍然在使用 appendTo 的 1.8.1-win8 版本的应用程序中遇到安全异常,这是由于某些 KnockOutJS 代码造成的……?!
    我还没有调试它以查看到底是哪个绑定失败了,但我有很多代码做了诸如条件文本和属性绑定之类的事情,这些代码在某些时候会导致 append(Child) 抛出安全异常。 :(
    谢谢

  3. @dada,请在 bugs.jquery.com 上创建一个工单,并提供一个简单的测试用例,以便我们进行调试。 不应该在这里报告错误。