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 中。因此,支持测试在所有浏览器中这些页面上都失败了。结果是回退到使用 outerWidthouterHeight,不幸的是,它们不返回分数值。支持测试现已修复,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 GutierrezMichal Golebiowski-OwczarekTimo TijhofDimitri 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 (#52660ea85dad)
  • 在 Node.js 20 上测试,停止在 Node.js 14 和 19 上测试 (b473729d)
  • 将 3.x-stable 版本更新为 3.7.1-pre。(64460dac)

核心

  • 修复 jQuery.text() 在 HTMLDocument 对象上的回归问题 (#526444c56f87)

CSS

  • 使 reliableTrDimensions 支持测试与 Bootstrap CSS(3.x 版本)一起使用 (#5270a288838c)

已弃用

  • 使用未弃用的方法定义 .hover() (7287894f)

文档

  • 修复 codespell 发现的拼写错误 (4a29888c)
  • 从自述文件删除过时的 gitter 徽章 (141518e9)
  • 从 PR 模板中删除“Grunt 构建”部分 (992a6653)

发布

选择器

  • 仅在 IE 和 Edge Legacy 中附加卸载处理程序 (#528187467a6f)
  • 重新公开 jQuery.find.tokenize(3.x 版本)(#525913a870b6)

测试

  • 禁用“:lang 尊重转义的反斜杠”测试 (#52715aa7d93a)
  • 在 IE 9 中跳过新的 .text() 测试 (b84146ce)

评论已关闭。