jQuery 3.7.1 发布:可靠的表格行尺寸
jQuery 3.7.1 已发布!此版本修复了 jQuery 3.6.0 中的一个回归问题,该问题导致 Chrome 和 Safari 中 <tr />
元素的尺寸被四舍五入。此外,在我们在 jQuery 3.7.0 中删除 Sizzle 时,一个(几乎完全)内部的 Sizzle 方法 jQuery.find.tokenize
不小心被从 jQuery 对象中删除了。该方法现已恢复。
与往常一样,该版本可在 我们的 CDN 和 npm 包管理器上获得。其他第三方 CDN 也可能会很快提供该版本,但请记住我们不控制它们的发布时间表,它们需要一些时间。以下是 jQuery 3.7.1 的重点。
表格行支持测试
jQuery 3.6.0 对支持测试进行了一项更改,以解决来自 Firefox 的突然故障,该故障开始将表格边框包含在 <tr />
元素的计算尺寸中。这 可能是正确的,但 Firefox 是唯一这样做浏览器。但是,新的支持测试没有考虑具有 * { box-sizing: border-box; }
的页面在 CSS 中。因此,支持测试在所有浏览器中这些页面上都失败了。结果是回退到使用 outerWidth
和 outerHeight
,不幸的是,它们不返回分数值。支持测试现已修复,Chrome 和 Safari 的先前行为已恢复,但 Firefox 和 IE 将继续返回整数。
重新公开 Sizzle 中的方法
jQuery 已 在 jQuery 3.7.0 中内联了来自 Sizzle 的大部分代码,为将来对 jQuery 选择器引擎的更大更改做准备。在大多数情况下,没有功能更改,但我们不小心将一个以前公开的方法私有化了。虽然 jQuery.find.tokenize
没有文档记录,但一些代码依赖于它可用。该方法现已恢复。
升级
我们预计从 jQuery 3.0+ 版本升级时不会出现兼容性问题。要升级,请查看新的 3.5 升级指南。如果您尚未升级到 jQuery 3+,请先查看 3.0 升级指南。
The jQuery Migrate 插件 将帮助您识别代码中的兼容性问题。请试用此新版本并 告知我们您遇到的任何问题。
如果您还不能升级到 3.5+,Daniel Ruf 友好地提供了 针对以前 jQuery 版本的补丁。
下载
您可以从 jQuery CDN 获取文件,或直接链接到它们
https://code.jqueryjs.cn/jquery-3.7.1.js
https://code.jqueryjs.cn/jquery-3.7.1.min.js
您也可以从 npm 获取此版本
npm install jquery@3.7.1
精简版本
有时您不需要 ajax,或者您更喜欢使用专注于 ajax 请求的众多独立库之一。并且通常情况下,使用 CSS 和类操作组合来进行网页动画更为简单。除了包含 ajax 和效果模块的 jQuery 的常规版本外,我们还发布了一个“精简”版本,该版本排除了这些模块。如今,jQuery 的大小很少是加载性能问题,但精简版本比常规版本压缩后小约 6k 字节。这些文件也以 npm 包形式以及在 CDN 上提供。
https://code.jqueryjs.cn/jquery-3.7.1.slim.js
https://code.jqueryjs.cn/jquery-3.7.1.slim.min.js
这些更新已作为 npm 和 Bower 上的当前版本提供。有关获取 jQuery 的所有方法的信息,请访问 https://jqueryjs.cn/download/。公共 CDN 今天将收到它们的副本,请给他们几天时间发布文件。如果您急于快速上手,请使用我们 CDN 上的文件,直到他们有机会更新。
感谢
感谢所有通过提交补丁、报告错误或测试参与此版本发布的人,包括 Gabriela Gutierrez、Michal Golebiowski-Owczarek、Timo Tijhof、Dimitri Papadopoulos Orfanos 以及整个 jQuery 团队。
我们现在在 Mastodon 上!
jQuery 现在拥有自己的 Mastodon 帐户。从现在开始,我们将同时发布到 Twitter 和 Mastodon。此外,您可能也有兴趣关注我们团队中的一些在 Mastodon 上有帐户的成员。
jQuery: https://social.lfx.dev/@jquery
mgol: https://hachyderm.io/@mgol
timmywil: https://hachyderm.io/@timmywil
更改日志
完整更改日志:3.7.1
构建
- 在
grunt
上生成精简版本并在其上运行compare_size
(763ade6d) - 确保
*.cjs
和*.mjs
文件也使用 UNIX 行结束符 (3c18c1f3) - 切换 timmywil 的首选电子邮件 (72ae577c)
- 构建:将 actions/checkout 从 3.5.2 升级到 3.5.3 (a370d7df)
- 通过提交 SHA 参考 GitHub Actions (#5266,0ea85dad)
- 在 Node.js 20 上测试,停止在 Node.js 14 和 19 上测试 (b473729d)
- 将 3.x-stable 版本更新为 3.7.1-pre。(64460dac)
核心
CSS
已弃用
- 使用未弃用的方法定义
.hover()
(7287894f)