jQuery 4.0.0

发布于 作者

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 早期版本(Firefox ESR 除外)和 Android Browser。您无需进行任何更改。如果您需要支持任何这些浏览器,请坚持使用 jQuery 3.x。

Trusted Types 和 CSP

jQuery 4.0 添加了对 Trusted Types 的支持,确保包装在 TrustedHTML 中的 HTML 可以用作 jQuery 操作方法输入的输入,而不会违反 require-trusted-types-for 内容安全策略指令。

与此同时,虽然一些 AJAX 请求已经使用 <script> 标签来维护诸如 crossdomain 之类的属性,但我们已经 将大多数异步脚本请求切换为使用 <script> 标签,以避免因使用内联脚本而导致的任何 CSP 错误。仍然有一些情况会使用 XHR 进行异步脚本请求,例如当传递 "headers" 选项时(请改用 scriptAttrs!),但我们现在尽可能使用 <script> 标签。

jQuery 源代码迁移到 ES 模块

当 jQuery 源代码在 main 分支上从 AMD 迁移到 ES 模块 时,那是一个特殊的日子。jQuery 源代码一直与 jQuery 发布版一起在 npm 和 GitHub 上发布,但无法直接作为模块导入,除非使用 RequireJS,这是 jQuery 选择的构建工具。我们现在已经切换到 Rollup 来打包 jQuery,并且我们会在 ES 模块上单独运行所有测试。这使得 jQuery 与现代构建工具、开发工作流程和浏览器兼容,通过使用 <script type=module>

移除已弃用的 API

这些函数已经弃用了很多版本。现在我们已经发布了一个主要版本,是时候移除它们了。这些函数要么一直打算用于内部,要么现在在所有受支持的浏览器中都有原生等效项。移除的函数包括

jQuery.isArrayjQuery.parseJSONjQuery.trimjQuery.typejQuery.nowjQuery.isNumericjQuery.isFunctionjQuery.isWindowjQuery.camelCasejQuery.nodeNamejQuery.cssNumberjQuery.cssPropsjQuery.fx.interval

请改用原生等效项,例如 Array.isArray()JSON.parse()String.prototype.trim()Date.now()

移除已弃用的 API 与移除对旧 IE 的支持相结合,gzip 压缩后的大小减少了 3k 字节以上。

从 jQuery 原型中移除内部专用方法

jQuery 原型长期以来一直存在着行为与任何其他 jQuery 方法不符且始终仅用于内部用途的数组方法。这些方法是 pushsortsplice。现在它们已被从 jQuery 原型中移除。如果您正在使用这些方法,$elems.push( elem ) 可以替换为 [].push.call( $elems, elem )

焦点事件顺序现在遵循 W3C 规范

长期以来,浏览器对于焦点和模糊事件的顺序存在分歧,包括 focusin、focusout、focus 和 blur。最终,所有 jQuery 4.0 支持的浏览器的最新版本都已收敛到通用的事件顺序。不幸的是,它与 jQuery 多年来选择的一致顺序不同,这使得它成为一个破坏性更改。至少现在每个人都在同一页面上了!

从 jQuery 4.0 开始,我们不再覆盖原生行为。这意味着除了 IE 之外的所有浏览器都将遵循当前的 W3C 规范,即

  1. blur
  2. focusout
  3. focus
  4. focusin

jQuery 在早期版本中的顺序是:focusout、blur、focusin、focus。具有讽刺意味的是,唯一曾经遵循旧 W3C 规范(在 2023 年更新之前)的浏览器是 Internet Explorer。

更新精简版构建

jQuery 4.0.0 中移除了 Deferreds 和 Callbacks,精简版构建变得更小(现在约为 19.5k 字节 gzip 压缩!)。Deferreds 长期以来支持 Promises A+ 标准,因此原生 Promises 可以替代大多数情况,并且它们在 jQuery 的所有受支持的浏览器中都可用,除了 IE11。Deferreds 具有原生 Promises 不支持的一些额外功能,但大多数用法可以迁移到 Promise 方法。如果您需要支持 IE11,最好使用主构建或为原生 Promises 添加一个 polyfill。

下载

您可以从 jQuery CDN 获取文件,或直接链接到它们

https://code.jqueryjs.cn/jquery-4.0.0.js

https://code.jqueryjs.cn/jquery-4.0.0.min.js

您也可以从 npm 获取此版本

npm install jquery@4.0.0

精简版

有时您不需要 ajax,或者更喜欢使用许多独立的专注于 ajax 请求的库。而且,通常使用 CSS 和类操作进行 Web 动画更简单。最后,所有 jQuery 支持的浏览器(IE11 除外)现在都支持本机 Promises,因此在大多数情况下不再需要 Deferreds 和 Callbacks。除了包含所有内容的常规 jQuery 版本之外,我们还发布了一个排除这些模块的“精简”版本。这些天 jQuery 的大小很少成为加载性能问题,但精简版本比常规版本小约 8k gzip 字节。这些文件也可用在 npm 包和 CDN 上

https://code.jqueryjs.cn/jquery-4.0.0.slim.js

https://code.jqueryjs.cn/jquery-4.0.0.slim.min.js

这些更新已经作为 npm 和 Bower 上的当前版本提供。有关获取 jQuery 的所有方式的信息,请访问 https://jqueryjs.cn/download/。公共 CDN 今天会收到其副本,请给它们几天时间来发布文件。如果您急于开始,请使用我们 CDN 上的文件,直到它们有机会更新为止。

感谢

感谢所有参与此版本发布的人员,包括提交补丁、报告错误或进行测试的人员,包括 ac-mmiAlexUlises GascónRichard GibsonMichał Gołębiowski-OwczarekGabriela GutierrezJ.SonLiam JamesAnders KaseorgSimon Legnerneogy-akashChristian OliffDimitri Papadopoulos OrfanosBruno PIERREBaoshuo RenstudystillTimo Tijhof 和整个 jQuery 团队。

祝 jQuery 20 岁生日快乐!

在过去的 20 年里,许多杰出的人为 jQuery 及其相关项目做出了贡献,我们中的许多人聚集在达拉斯参加了一次重聚。John Resig 甚至通过视频加入了我们。这个版本在我们所有人聚集在一起时发布的。

变更日志

完整变更日志: 4.0.0

Ajax

  • 不要将数组数据视为二进制数据 (992a1911)
  • 即使对于二进制数据,也允许 processData: true (ce264e07)
  • 支持二进制数据(包括 FormData)(a7ed9a7b)
  • 即使在跨域的情况下,也支持 headers 用于脚本传输 (#5142, 6d136443)
  • 支持 jQuery.get 中的 null 作为成功函数 (#4989, 74978b7e)
  • 除非提供 dataType,否则不要自动执行脚本 (#4822, 025da4dd)
  • 使 responseJSON 适用于错误的同域 JSONP 请求 (68b4ec59)
  • 执行 JSONP 错误脚本响应 (#4771, a1e619b0)
  • 避免脚本传输中异步请求的 CSP 错误 (#3969, 07a8e4a1)
  • 放弃 json 到 jsonp 的自动提升逻辑 (#1799, #3376, e7b3bc48)
  • 如果存在 content-type 标头值,则覆盖 s.contentType (#4119, 7fb90a6b)
  • 弃用 AJAX 事件别名,将内联别名弃用 (23d53928)
  • 不要为不成功的 HTTP 响应执行脚本 (#4250, 50871a5a)
  • 简化 jQuery.ajaxSettings.xhr (#1967, abdc89ac)

属性

  • 使 .attr( name, false ) 移除所有非 ARIA 属性 (#5388, 063831b6)
  • 减少几个字节 (b40a4807)
  • 不要在 setter 中将属性字符串化 (#4948, 4250b628)
  • 移除 `toggleClass(boolean|undefined)` 签名 (#3388, a4421101)
  • 重构 val(): 不要去除回车符,隔离 IE 解决方法 (ff281991)
  • 不在 IE 之外的地方设置 type attr hook (9e66fe9a)

核心

  • 删除过时的解决方法,更新支持注释 (e2fe97b7)
  • $.parseHTMLdocument.implementation 切换到 DOMParser (0e123509)
  • 修复导出设置,使打包器能够与 ESM & CommonJS 协同工作 (#5416, 60f11b58)
  • 添加关于命名导出的更多信息 (5f869590)
  • 简化代码,减少浏览器支持 (93ca49e6)
  • 将 factory 移动到单独的导出 (46f6e3da)
  • 在 `src/` 中使用命名导出 (#5262, f75daab0)
  • 修复 jQuery.text() 在 HTMLDocument 对象上的回归问题 (#5264, a75d6b52)
  • 选择器:将 jQuery.contains 从选择器移动到核心模块 (024d8719)
  • 移除 jQuery.fn.init 的 root 参数 (d2436df3)
  • 不要依赖 input 上存在 splice (9c6f64c7)
  • 操作:添加基本的 TrustedHTML 支持 (#4409, de5398a6)
  • 报告 parseXML 中的浏览器错误 (#4784, 89697325)
  • 使 jQuery.isXMLDoc 接受 falsy 输入 (#4782, fd421097)
  • 停止支持 Edge Legacy(即非 Chromium Microsoft Edge) (#4568, e35fb62d)
  • 在 iframe 上下文中触发 iframe 脚本,在 globalEval 中添加 doc 参数 (#4518, 4592595b)
  • 在精简版本中排除 callbacks & deferred 模块 (fbc44f52)
  • 迁移到 ES 模块 🎉 (d0ce00cd)
  • 在支持的地方使用 Array.prototype.flat (#4320, 9df4f1de)
  • 移除 jQuery 原型上的 push、sort & splice 的私有副本 (b59107f5)
  • 实现 .even() & .odd() 以替换 POS :even & :odd (78420d42)
  • 弃用 jQuery.trim (#4363, 5ea59460)
  • 移除 IE 特定的支持测试,依赖 document.documentMode (#4386, 3527a384)
  • 停止支持 IE <11、iOS <11、Firefox <65、Android Browser & PhantomJS (#3950, #4299, cf84696f)
  • 移除已弃用的 jQuery API (#4056, 58f0c00b)

CSS

  • 修复 <col> 表格元素的尺寸 (#5628, eca2a564)
  • 从 finalPropName 中删除缓存 (640d5825)
  • 测试:修复测试,并支持 CSS zoom 下的测试 (5489, 071f6dba)
  • 修复最初隐藏的 iframe 的 reliableTrDimensions 支持测试 (b1e66a5f)
  • 选择器:与 3.x 对齐,移除外部 `selector.js` 包装器 (53cf7244)
  • 使 reliableTrDimensions 支持测试与 Bootstrap CSS 协同工作 (#5270, 65b85031)
  • 使 `offsetHeight( true )` 等包含负边距 (#3982, bce13b72)
  • 对于仅包含空格的 CSS 变量值返回 `undefined` (#5120) (7eb00196)
  • 不要修剪未定义的自定义属性的空格 (ed306c02)
  • 跳过 `addClass( array )` 中的 falsy 值,压缩代码 (#4998, a338b407)
  • 证明在 CSS 属性值上使用 rtrim 的合理性 (655c0ed5)
  • 修剪 CSS 自定义属性值周围的空格 (#4926, efadfe99)
  • 在 jQuery 精简版本中包含 `show`、`hide` & `toggle` 方法 (297d18dd)
  • 移除 opacity CSS hook (865469f5)
  • 解决 IE/Edge 中表行上 getComputedStyle 的错误 (4490, 26415e08)
  • 不要自动将 "px" 添加到少数例外情况下的属性 (2795, 00a9c2e5)

数据

  • 重构以减小尺寸 (805cdb43)
  • 事件:操作:防止与 Object.prototype 发生冲突 (3256, 9d76c0b1)
  • 分离 data & css/effects camelCase 实现 (3355, 8fae2120)

Deferred

  • 将 `getStackHook` 重命名为 `getErrorHook` (#5201, 258ca1ec)
  • 尊重 jQuery.Deferred.exceptionHook 中的 source maps (#3179, 0b9c5037)
  • 将 master 重命名为 primary (a32cf632)

已弃用

  • 使用非弃用的方法定义 `.hover()` (fd6ffc5e)
  • 移除 jQuery.trim (0b676ae1)
  • 修复 AMD 参数顺序 (f810080e)

Dimensions

  • 为不可靠的 TR 尺寸添加偏移量属性回退 (4529, 3bbbc111)

文档

  • 更新了漏洞报告流程并添加了升级步骤 (02cf4ee0)
  • 修复注释中的一些小问题 (e4d4dd81)
  • 更新 README 中的 herodevs 链接 (#5695, 093e63f9)
  • 使 CONTRIBUTING.md 与 3.x-stable 一致 (d9281061)
  • 更新 CONTRIBUTING.md (4ef25b0d)
  • 向 README 添加版本支持部分 (cbc2bc1f)
  • 将剩余的 HTTP URL 更新为 HTTPS (7cdd8374)
  • 修复程序包 README 中的模块链接 (ace646f6)
  • 更新 CONTRIBUTING.md 中的 watch 任务 (77d6ad71)
  • 修复 codespell 发现的错别字 (620870a1)
  • 移除过时的 gitter 徽章 (67cb1af7)
  • 从 PR 模板中移除“Grunt 构建”部分 (988a5684)
  • 移除 README 中的过时徽章 (bcd9c2bc)
  • 更新已发布程序包的 README (edccabf1)
  • 移除来自 GitHub Actions 注释中的 git.io (016872ff)
  • 更新 README 中的 webpack 网站 (01819bc3)
  • 添加指向 patchwelcome 和 help wanted issue 的链接 (924b7ce8)
  • 添加指向预览新 CLA 的链接 (683ceb8f)
  • 修复不正确的 `trac-NUMBER` 引用 (eb9ceb2f)
  • 移除旧 jquery 源代码中的过期链接 (#4997) (ed066ac7)
  • 移除来自源代码的 Web Archive 链接 (#4981, e24f2dcf)
  • 将 `#NUMBER` Trac issue 引用替换为 `trac-NUMBER` (5d5ea015)
  • 更新 CONTRIBUTING.md 中最新的 jQuery 构建的 URL (9bdb16cd)
  • 移除拉取请求模板中的 CLA 复选框 (e1248931)
  • 更新 IRC 到 Libera 并修复 LAMP 死链接 (175db73e)
  • 更新 GitHub issue 模板中的“频繁报告的问题” (7a6fae6a)
  • 将 JS Foundation 提及更改为 OpenJS Foundation (11611967)
  • 添加 SECURITY.md,显示安全电子邮件地址 (2ffe54ca)
  • 修复错别字 (1a7332ce)
  • 更新 jsdom 仓库的链接 (a62309e0)
  • 将超链接使用 https (73415da2)
  • 移除 README 中 event/alias.js 模块的提及 (3edfa1bc)
  • 将指向 EdgeHTML issue 的链接通过 Web Archive (1dad1185)
  • 将用户引导至 GitHub 文档以克隆仓库 (f1c16de2)
  • 将 README 中的 OS X 更改为 macOS (5a3e0664)
  • 将大多数 URL 更新为 HTTPS (f09d9210)
  • 将指向 Homebrew 的链接从 HTTP 转换为 HTTPS (e0022f23)

效果

  • 修复 .stop() 中的不必要的条件语句 (#4374, 110802c7)

Effects

  • 移除 jQuery.fx.interval (6c2c7362)

事件

  • 在 beforeunload 中使用 .preventDefault() (7c123dec)
  • 提高 leverageNative 中内部原生事件的鲁棒性 (#5459, 527fb3dc)
  • 避免 jQuery.event.special 与 Object.prototype 之间的冲突 (bcaeb000)
  • 简化 leverageNative 中已保存数据的检查 (dfe212d5)
  • 使 trigger(focus/blur/click) 与原生处理程序协同工作 (#5015, 6ad3651d)
  • 通过 focusin/focusout 模拟 IE 中的焦点/失焦 (#4856, #4859, #4950, ce60d318)
  • 修复在 `.on(focus).off(focus)` 之后触发焦点的错误 (#4867, e539bac7)
  • 使焦点重新触发不将焦点返回到原始元素 (#4382, dbcffb39)
  • 防止在失焦时移除元素导致崩溃 (#4417, 5c2d0870)
  • 移除 event.which 的兼容垫片 (#3235, 1a5fff4c)
  • 移除 jQuery.event.global (18db8717)
  • 仅将事件附加到接受数据的对象 – 真正地 (#4397, d5c505e3)
  • 停止兼容 focusin & focusout 事件 (#4300, 8a741376)
  • 防止 leverageNative 注册重复的虚拟处理程序 (eb6c0a7c)
  • 修复处理多个异步焦点事件的问题 (#4350, ddfa8376)

操作

  • 使 jQuery.cleanData 在清理期间不会跳过元素 (#5214, 3cad5c43)
  • 泛化一个测试以支持 IE (88690ebf)
  • 支持 $el.html(selfRemovingScript) (#5378) (#5377, 937923d9)
  • 将 domManip 提取到单独的文件 (ee6e8740)
  • 不要从脚本中移除 HTML 注释 (#4904, 2f8f39e4)
  • 在 DOM 操作中尊重脚本的 crossorigin 属性 (#4542, 15ae3614)
  • 避免在 buildFragment 中连接字符串 (9c98e4e8)
  • 使 jQuery.htmlPrefilter 成为一个恒等函数 (90fed4b4)
  • 选择器:尽可能使用 nodeName 工具来节省大小 (4504fc3d)

Offset

  • 增加查找“真实”偏移父级的搜索深度 (556eaf4a)

选择器

  • 移除对 :has 的兼容处理;在 iPhone 和 iPad 上进行测试 (65e35450)
  • 正确弃用 jQuery.expr[ ":" ]/jQuery.expr.filters (329661fd)
  • 使 selector.js 模块依赖于 attributes/attr.js (#5379, e06ff088)
  • 消除 selector.js 对各种模块的依赖 (e8b7db4b)
  • 重新暴露 jQuery.find.{tokenize,select,compile,setDocument} (#5259, 338de359)
  • 停止依赖 CSS.supports( "selector(…)" ) (#5194, 68aa2ef7)
  • 将 jQuery 选择上下文逻辑回移植到 selector-native (#5185, 2e644e84)
  • 使选择器列表再次与 qSA 协同工作 (#5177, 09d988b7)
  • 实现 uniqueSort 可链式方法 (#5166, 5266f23c)
  • 重新引入 selector-native.js (4c1171f2)
  • 操作:修复模板内容中的 DOM 操作 (#5147, 3299236c)
  • 放弃对遗留伪类的支持,测试自定义伪类 (8c7da22c)
  • 如果 CSS.supports(selector(...)) 不兼容,则使用 jQuery :has (#5098, d153c375)
  • 移除对 Chrome <=77 的 "a:enabled" 兼容处理 (c1ee33ad)
  • 使空属性选择器再次在 IE 中工作 (#4435, 05184cc4)
  • 在 uniqueSort 中使用浅层文档比较 (#4441, 15750b0a)
  • 添加一个测试,用于在逗号后的无效选择器上抛出错误 (6eee5f7f)
  • 使带有前导组合器的选择器再次使用 qSA (ed66d5a2)
  • 使用浅层文档比较以避免 IE/Edge 崩溃 (#4441, aa6344ba)
  • 减小大小,简化 setDocument (29a9544a)
  • 尽可能利用 :scope 伪类 (#4453, df6a7f7f)
  • 恢复 querySelectorAll 快捷方式的使用 (cef4b731)
  • 将 Sizzle 内联到选择器模块 (47835965)
  • 将 Sizzle 测试移植到 jQuery (79b74e04)

支持

  • 确保支持 div 的显示设置为 block (#4832, 09f25436)

Tests

  • 修复 Headless Chrome 中的“外部视图位置”测试 (23d72cb1)
  • 修复 Chrome 141 中的选择器测试 (25a1b080)
  • 将 IE 的 nomodule 测试超时时间从 1 秒增加到 5 秒 (5eab0a3c)
  • 修复模块/nomodule 测试的易出错性 (5964acf3)
  • 使用 releases.jquery.com 作为 AJAX 测试的外部主机 (f21a6ea6)
  • 修复 jQuery.get( String, null-ish, null-ish, String ) 的测试 (05325801)
  • 添加 jQuery.get( String, null-ish, null-ish, String ) 的测试 (76687566)
  • 将 3.x-stable 中的 hidden="until-found" 属性测试回移植 (3a31866b)
  • 将测试运行程序迁移到 jquery-test-runner (733e62d2)
  • 将自定义属性 getter 测试添加到选择器模块 (44667709)
  • 切换到更新的 promises-aplus-tests 分支 (559bc5ac)
  • 在 GitHub Actions 中以 IE 模式运行 Edge 测试 (6d78c076)
  • 在真实 Firefox ESR 上运行测试 (4b7ecbad)
  • 使 mock.php 间距与 3.x-stable 分支对齐 (d5ae14f6)
  • 替换 qunit fixture 中的死链接 (dbc9dac7)
  • 替换 express 为基本的 Node 服务器 (c85454a8)
  • 移除不必要的滚动功能测试 (ea31e4d5)
  • 使 :has 选择器测试与 3.x-stable 对齐 (f2d9fde5)
  • 撤销并发组更改 (fa73e2f1)
  • 在并发组中包含 github ref (5880e027)
  • 使 beforeunload 事件测试无论是否有扩展都能工作 (399a78ee)
  • 共享所有 worker 类型的队列/浏览器处理 (284b082e)
  • 改进不同类型值的差异化 (b9d333ac)
  • 显示所有实际/预期值 (f80e78ef)
  • 将差异化添加到测试报告器 (44fb7fa2)
  • 在测试报告器中添加实际和预期消息 (1e84908b)
  • 修复失败的浏览器确认导致 worker 重启的问题 (fedffe74)
  • 在测试运行程序中添加 –hard-retries 选项 (822362e6)
  • 修复服务器未停止时清理的问题 (0754d596)
  • 修复易出错的消息日志;忽略删除 worker 失败 (02d23478)
  • 在 BrowserStack 测试中重用浏览器 worker (#5428) (95a4c94b)
  • 使用 allowlist 代替 whitelist (2b97b6bb)
  • 将测试基础设施迁移到最少的依赖项 (dfc693ea)
  • 修复 Node.js 20 上的 Karma 测试 (d478a1c0)
  • 禁用 ":lang respects escaped backslashes" 测试 (#5271, 62b9a258)
  • 指示 Chrome 112 和 Safari 16.4 通过 cssHas 支持测试 (89ef81f8)
  • 正确测试 AJAX 已弃用的事件别名 (cff28998)
  • 指示 Firefox 106+ 通过 cssSupportsSelector 测试 (716130e0)
  • 移除 Firefox XML 解析问题的一个兼容处理 (e7ffe1f1)
  • 修复 QUnit CSS 文件的链接 (8cf39b78)
  • 根据编译标志而不是 API 存在性排除测试 (#5069, fae5fee8)
  • 兼容 Firefox 中的 XML 解析错误 (af1cd6f2)
  • 将 colors 版本锁定到 1.4.0 (9603b3c8)
  • 跳过 TestSwarm 上的 ETag AJAX 测试 (00c060d1)
  • 允许 statusText 在 AJAX 测试中为 "success" (19ced963)
  • 使 Karma 浏览器超时时间大于 QUnit 的超时时间 (4fd6912b)
  • 不要在 mock.php 的 cspClean 操作中移除 csp.log (1019074f)
  • 通过 HTTPS 加载 TestSwarm 监听器 (d225639a)
  • 将背景图像从在线文件切换到本地 1×1.jpg (482f8462)
  • 从 mock.php 中移除非典型的回调参数字符 (a7027463)
  • 让更多测试在 Chrome 和 Firefox 中原生运行 (50e8e846)
  • 修复缺少 dataType 时脚本无法自动执行的测试 (d38528b1)
  • 识别 Node.js 模拟服务器中带有句点的回调函数 (df6858df)
  • 在 Safari 中跳过“jQuery.ajax() 在卸载时”测试 (c18dc496)
  • 移除一个未使用的局部变量 (82b87f6f)
  • 移除剩余的过时 jQuery.cache 引用 (d96111e1)
  • 解决 iOS 8 – 12 中最近的 XSS 测试中的失败 (11066a9e)
  • 添加针对最近修复的操纵 XSS 问题的测试 (dc06d68b)
  • 仅对匹配的窗口和文档使用一个 focusin/out 处理程序 (9b732043)
  • 修复“jQuery.ajax() – JSONP – 同域”测试中的不稳定性 (7b0864d0)
  • 将必要的 done() 调用传递给 assert.async() (364476c3)
  • 移除过时的 jQuery 数据测试 (eb35be52)
  • 在 Firefox 中跳过“表格行上带有幻影边框的宽度/高度”测试 (a612733b)
  • 不要在 Chrome 中测试卸载时的同步 XHR (323575fb)
  • 停止在测试中使用 jQuery.find (1d624c10)
  • 移植 Sizzle 中的更改 (ac5f7cd8)
  • 修复 testinit.js 中的注释 (7bdf307b)
  • 更新 npo.js 并包含未压缩的源代码 (b334ce77)
  • 将事件测试的回退限制为 TestSwarm (bde53edc)
  • 修复 IE 中的新 focusin/focusout 测试 (6f2fae7c)
  • 修复 core-js polyfill 的包含方法 (2e4b79ab)

Traversing

  • 修复 IE 中带有子元素的 <object> 上的 contents() (ccbd6b93)
  • 修复带有子元素的 <object> 上的 contents() (#4384, 4d865d96)

评论已关闭。