节日快乐!经过对“乖孩子”和“坏孩子”名单的认真审查,我们决定在圣诞树下留下一个小礼物来结束 2014 年:jQuery 1.11.2 和 2.1.3!这些版本包含了一些错误修复,旨在改善您的跨浏览器开发体验。
此版本中最重要的修复是针对 Safari 8.0 和 7.1 中 严重 querySelector 错误 的解决方法。当这个错误出现时,我们希望它能在补丁版本中得到修复,但事实并非如此。苹果是目前为止最不透明的浏览器制造商,我们对于 此错误的 Webkit 补丁 何时会被合并到 Safari 中知之甚少。因此,我们决定在 Sizzle(jQuery 使用的选择器引擎)中进行修复。
像这样的错误强调了使用 jQuery 等库而不是直接使用 DOM API 的好处。即使是现代浏览器也可能存在长时间未修复的错误,而且仍然存在一些跨浏览器功能差异,例如广泛使用的 Android 2.3。针对罕见浏览器问题的特殊代码在您花费一整天调试由这些问题导致的自身代码中的问题之前似乎是不必要的。或者更糟糕的是,因为客户无法从旧手机访问您的网站而失去付费客户。
另一个让我们难以在 iOS 8 上测试 jQuery 的错误是 模拟器的用户代理不正确,因此 iOS 8 模拟器无法被我们的单元测试基础设施识别。针对 该问题的修复 非常简单,但苹果不会告诉我们是否可以确定它已完成。目前,我们正在手动进行 iOS 8 测试。
此外,此版本还包含 jQuery 内部的一些更改,以避免不必要地保留 DOM 元素。尽管旧代码通常不会导致运行错误,但网页可能运行缓慢并使用比必要更多的内存。
您可能会注意到我们在 2.x 分支中跳过了补丁版本号。我们并没有真正 *跳过* 它,而是构建了它并发现了一个问题,该问题在 jQuery 与节点一起使用时会导致问题。(非常感谢 Denis Sokolov 立即告知我们并敦促我们修复它!)我们决定创建新的版本,而不是将这些文件发布到其他 CDN。
就兼容性或回归问题而言,我们认为对于当前使用 1.11.1 或 2.1.1 的任何用户来说,这是一个风险非常低的升级。我们在 jQuery 3.0 之前发布此版本,以确保您可以在无需检查代码与 jQuery 3.0 中预期更改的兼容性之前使用 Safari 安全版本的 jQuery。如果您在从之前的版本升级时遇到错误,请 告诉我们。
如果您愿意,可以直接从 jQuery CDN 包含这些文件,或者将它们复制到您自己的本地服务器。1.x 分支包含对 IE 6/7/8 的支持,而 2.x 分支则不支持。
https://code.jqueryjs.cn/jquery-1.11.2.js
https://code.jqueryjs.cn/jquery-2.1.3.js
这些更新已经在 npm 和 Bower 上作为当前版本提供。有关获取 jQuery 的所有方法的信息,请访问 https://jqueryjs.cn/download/。公共 CDN 会在今天收到它们的副本,请给他们几天时间来发布文件,不要着急。如果您急于快速上手,只需使用我们 CDN 上的文件,直到它们有机会更新。
非常感谢所有参与此版本测试、报告错误或提交补丁的人,包括 Chris Antaki、Denis Sokolov、Jason Bedard、Julian Aubourg、Liang Peng、Michał Gołębiowski、Oleg Gaidarenko、PashaG、Richard Gibson、Rodrigo Rosenfeld Rosas、Timmy Willison 和 TJ VanToll。
自上次发布 jQuery 以来,我们已经从 Trac 安装迁移到 GitHub Issues,因此目前这两个错误跟踪器中都有此版本的票证。对 Trac 票证的引用已迁移到 GitHub Issues,因此您可以使用 此 GitHub Issues 查询 来查看所有票证。
感谢您的支持,我们将在 jQuery 3.0 与您相见!