jQuery 4.0.0 发布,时隔约 10 年的主要版本发布!
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
概述2006 年 1 月 14 日,John Resig 在纽约市的 BarCamp 上介绍了名为 jQuery 的 JavaScript 库。现在,20 年后,jQuery 团队很高兴地宣布 jQuery 4.0.0 的最终版本发布。经过漫长的开发周期和几个预发布版本,jQuery 4.0.0 带来了许多改进和现代化。这是近 10 年来第一个主要版本发布,包括一些破坏性变更,因此在升级前请务必仔细阅读下面的细节。尽管如此,我们预计大多数用户只需进行少量代码更改即可升级。 许多破坏性变更是团队多年来一直想做的,但无法在补丁或次要版本中实现。我们删除了遗留代码,移除了之前已弃用的 API,删除了公共函数中从未文档化的内部参数,并放弃了一些过于复杂的“魔术”行为。 我们准备了 升级指南 和 jQuery Migrate 插件发布 来协助过渡。请升级并 如果遇到任何问题,请告知我们。 与往常一样,此版本可在 我们的 CDN 和 npm 包管理器上获取。其他第三方 CDN 可能很快也会提供,但请记住我们不控制他们的发布计划,他们需要一些时间。下面是 jQuery 4.0.0 的亮点。 移除 IE<11 支持jQuery 4.0 放弃了对 IE 10 及更早版本的支持。有些人可能会问为什么我们没有移除对 IE 11 的支持。我们计划分阶段移除支持,下一步 将在 jQuery 5.0 中发布。目前,我们将从移除专门支持 IE 11 之前版本的代码开始。 我们还放弃了对其他非常旧浏览器的支持,包括 Edge Legacy、iOS 最后 3 个版本之前的版本、Firefox 最后 2 个版本之前的版本(除了 Firefox ESR)和 Android Browser。您无需进行任何更改。如果您需要支持这些浏览器,请坚持使用 jQuery 3.x。 Trusted Types 和 CSPjQuery 4.0 添加了对 Trusted Types 的支持,确保包裹在 TrustedHTML 中的 HTML 可以作为输入用于 jQuery 操作方法,而不会违反 与此同时,虽然一些 AJAX 请求已经使用 jQuery 源代码迁移到 ES 模块当 jQuery 源代码在 移除已弃用的 API这些函数已被弃用多个版本。现在到了主要版本,是时候移除它们了。这些函数要么一直是为内部使用而设计,要么现在在所有支持的浏览器中都有原生等价物。移除的函数包括:
请改用原生等价物,如 移除已弃用的 API 加上移除旧 IE 支持代码,结果是 gzip 压缩后大小减少超过 3k 字节。 从 jQuery 原型中移除仅内部方法jQuery 原型长期以来具有数组方法,这些方法不像其他 jQuery 方法那样行为,并且一直是为内部使用而设计。这些方法是 push、sort 和 splice。现在它们已从 jQuery 原型中移除。如果您在使用这些方法, 长期以来,浏览器在焦点和模糊事件的顺序上无法达成一致,包括 focusin、focusout、focus 和 blur。最后,jQuery 4.0 支持的所有浏览器的最新版本在事件顺序上达成了共识。不幸的是,它与 jQuery 多年前选择的顺序不同,这使得这是一个破坏性变更。至少现在每个人都在同一页上了! 从 jQuery 4.0 开始,我们不再覆盖原生行为。这意味着除了 IE 之外的所有浏览器将遵循当前的 W3C 规范,即:
jQuery 在之前版本中的顺序是:focusout、blur、focusin、focus。讽刺的是,唯一曾经遵循旧 W3C 规范(在 2023 年更新之前)的浏览器是 Internet Explorer。 更新 slim 构建在 jQuery 4.0.0 中,slim 构建变得更小了,通过移除 Deferreds 和 Callbacks(现在 gzip 压缩后约 19.5k 字节!)。Deferreds 长期以来支持 Promises A+ 标准,因此在大多数情况下可以使用原生 Promises,并且它们在 jQuery 支持的所有浏览器中可用,除了 IE11。Deferreds 确实有一些原生 Promises 不支持的额外功能,但大多数用法可以迁移到 Promise 方法。如果您需要支持 IE11,最好使用主构建或添加原生 Promises 的 polyfill。 下载您可以从 jQuery CDN 获取文件,或直接链接到它们: https://code.jquery.com/jquery-4.0.0.js https://code.jquery.com/jquery-4.0.0.min.js 您也可以从 npm 获取此版本:
Slim 构建有时您不需要 ajax,或者您更喜欢使用专注于 ajax 请求的众多独立库之一。而且通常使用 CSS 和类操作组合来处理 Web 动画更简单。最后,jQuery 支持的所有浏览器(除了 IE11)现在全面支持原生 Promises,因此在大多数情况下不再需要 Deferreds 和 Callbacks。与包含所有内容的常规 jQuery 版本一起,我们发布了排除这些模块的“slim”版本。如今 jQuery 的大小很少是加载性能问题,但 slim 构建比常规版本小约 8k gzip 字节。这些文件也在 npm 包和 CDN 上可用: https://code.jquery.com/jquery-4.0.0.slim.js https://code.jquery.com/jquery-4.0.0.slim.min.js 这些更新已作为 npm 和 Bower 上的当前版本可用。有关获取 jQuery 的所有方式的信息,请访问 https://jquery.com/download/。公共 CDN 今天会收到它们的副本,请给他们几天时间来发布文件。如果您急于快速开始,请使用我们 CDN 上的文件,直到他们有机会更新。 感谢感谢所有参与此版本的人员,通过提交补丁、报告 bug 或测试,包括 Alex、Ahmed S. El-Afifi、fecore1、Dallas Fraser、Richard Gibson、Michał Gołębiowski-Owczarek、Pierre Grimaud、Gabriela Gutierrez、Jonathan、Necmettin Karakaya、Anders Kaseorg、Wonseop Kim、Simon Legner、Shashanka Nataraj、Pat O’Callaghan、Christian Oliff、Dimitri Papadopoulos Orfanos、Wonhyoung Park、Bruno PIERRE、Baoshuo Ren、Beatriz Rezener、Sean Robinson、Ed Sanders、Timo Tijhof、Tom、Christian Wenz、ygj6 以及整个 jQuery 团队。 jQuery 20 岁生日快乐!在过去 20 年中,许多出色的人为 jQuery 及其相关项目做出了贡献,我们许多人在达拉斯聚会重聚。John Resig 甚至通过 Zoom 加入。此版本是在我们所有人聚在一起时发布的。 原文:https://blog.jquery.com/2026/01/17/jquery-4-0-0/ 该文章在 2026/1/19 11:37:29 编辑过 |
关键字查询
相关文章
正在查询... |