jQuery 3.6.0 发布!
jQuery 3.6.0 已发布!在 jQuery 3.5.0 中,主要变化是针对 html 预过滤器进行的安全修复。此版本不包含安全修复,但包含一些不错的错误修复和改进。我们仍在关注 jQuery 4.0 版本,但在那之前,我们将继续支持 3.x 分支并解决重要问题。
与往常一样,此版本可在 我们的 cdn 和 npm 包管理器上获得。其他第三方 CDN 也许很快就会提供此版本,但请记住,我们无法控制它们的发布计划,它们需要一些时间才能发布。以下是 jQuery 3.6.0 的主要亮点:
即使出现 JSONP 错误也返回 JSON
您可能已经从次要版本猜到,此版本中添加了一项功能。在以前的版本中,当 JSONP 请求响应出现错误时,响应通常仍然是可执行脚本。我们已将默认行为更改为尝试在此情况下执行响应。遇到错误时,普通脚本仍将跳过。有关更多信息,请参阅 gh-4771。
修复
一个值得重点说明的错误与 在焦点处理程序中将焦点重定向到另一个元素 有关。以下是一个示例,其中一个焦点处理程序在另一个焦点处理程序内触发:
elem1.on( "focus", function() { elem2.trigger( "focus" ); } );
由于它们在 IE 之外的所有地方都是同步的,因此在 3.4.0 中添加的利用原生事件的修复导致原生 .focus()
方法最后被调用,以使初始元素获取回焦点。虽然代码继续利用原生焦点和模糊事件,但我们能够通过与原生方法更加一致并仅将最后一个焦点事件向上传播到 DOM 树来解决此问题。
其他错误修复和改进包括修复 在 Firefox 中检索表格行尺寸 的错误,修复 在 Chrome 中,当 focusout 事件触发到已删除的元素时导致崩溃 的错误,对一些测试进行了一些改进,等等。您将在下面的完整更改日志中找到所有更改。
升级
除了不再为您确保 XHTML 兼容标签之外,我们预计从 jQuery 3.0+ 版本升级时不会出现其他兼容性问题。若要升级,请查看新的 3.5 升级指南。如果您尚未升级到 jQuery 3+,请先查看 3.0 升级指南。
jQuery Migrate 插件 将帮助您识别代码中的兼容性问题。请尝试使用此新版本并 告知我们您遇到的任何问题。
如果您无法升级到 3.5+,Daniel Ruf 友情提供了 以前 jQuery 版本的修补程序。
下载
您可以从 jQuery CDN 获取文件,或直接链接到它们
https://code.jqueryjs.cn/jquery-3.6.0.js
https://code.jqueryjs.cn/jquery-3.6.0.min.js
您也可以从 npm 获取此版本
npm install jquery@3.6.0
精简版本
有时您不需要 ajax,或者您更喜欢使用专注于 ajax 请求的众多独立库之一。而且,通常使用 CSS 和类操作来进行 web 动画更简单。除了包含 ajax 和效果模块的常规版本 jQuery 之外,我们还发布了一个“精简”版本,它排除了这些模块。如今,jQuery 的大小很少会成为加载性能问题,但精简版本比常规版本压缩后缩小了约 6k 字节。这些文件在 npm 包和 CDN 上也可用:
https://code.jqueryjs.cn/jquery-3.6.0.slim.js
https://code.jqueryjs.cn/jquery-3.6.0.slim.min.js
这些更新已作为 npm 和 Bower 上的当前版本提供。有关获取 jQuery 的所有方法的信息,请访问 https://jqueryjs.cn/download/。公共 CDN 今天将收到它们的副本,请给他们几天时间发布文件。如果您迫切需要快速入门,请使用我们 CDN 上的文件,直到它们有机会更新。
感谢
感谢所有参与此版本发布的人,包括提交补丁、报告错误或测试的人,包括 Dallas Fraser、Michal Golebiowski-Owczarek、Wonseop Kim、Wonhyoung Park、Beatriz Rezener、Natalia Sroka 以及整个 jQuery 团队。
更改日志
完整更改日志: 3.6.0
Ajax
核心
延迟
- 将 master 重命名为 primary (15b62a2e)
尺寸
文档
- 将 JS Foundation 的提及改为 OpenJS Foundation (db43ef0b)
事件
- 使焦点重新触发不会将焦点重新设置到原始元素 (#4382,2fadbc0a)
- 如果元素在模糊时被删除,则不要崩溃 (#4417,aaf9c55a)
- 删除 event.which shim (#3235,2bf9793e)
选择器
支持
测试
- 修复了没有自动执行脚本而没有 dataType 的测试 (7298e04f)
- 在 Legacy Edge 中跳过 jQuery.parseXML 错误报告测试 (bf06dd47)
- 修复了 jQuery.parseXML 错误报告测试 (1ec36332)
- 在 Node.js 模拟服务器中识别带点的回调 (4c572a7f)
- 在 Safari 中跳过“jQuery.ajax() 在卸载时的测试” (4f016c64)
- 删除未使用的局部变量 (beea433d)
- 删除剩余的过时的 jQuery.cache 引用 (5e028c76)
- 删除过时的 jQuery 数据测试 (8ad78cdb)
哇,版本发布间隔了好久 :)
感谢发布此版本。
期待已久的版本,感谢更新,并且始终感谢您的辛勤工作。
我真的很高兴 jQuery 仍在维护!将继续使用它!
感谢发布此版本。我能够轻松地从 3.5.1 升级到 3.6.0,没有任何问题。感谢您为维护和改进 jQuery 所做的所有努力,因为我们许多人仍在使用 jQuery 来运行生产环境中的大型项目。
感谢发布此版本。我能够轻松地从 3.5.1 升级到 3.6.0,没有任何问题。感谢您为维护和改进 jQuery 所做的所有努力,因为我们许多人仍在使用 jQuery 来运行生产环境中的大型项目。
好东西。我需要好好读读这篇文章!
很棒,感谢发布,升级没有问题,这也是 jQuery 的众多优势之一。