开发者版 Firefox 129
本文提供有关影响开发者的 Firefox 129 中的更改信息。Firefox 129 于 2024 年 8 月 6 日 发布。
针对 Web 开发者的更改
CSS
- 支持 @starting-style CSS at-rule。这使您可以为元素定义初始值,当元素收到第一个样式更新时,您希望从该初始值过渡。目前不支持从
display: none;
进行动画过渡 (Firefox 错误 1834876 和 Firefox 错误 1834877)。 - 支持
transition-behavior
CSS 属性。这使您可以通过将值设置为allow-discrete
来指定是否可以对离散属性(例如display
和overlay
)进行过渡。(Firefox 错误 1901645)。 -webkit-font-feature-settings
已作为标准font-feature-settings
属性的别名实现 (Firefox 错误 1595620)。
JavaScript
- 现在支持
Float16Array
类型数组,以及DataView.prototype.getFloat16()
和DataView.prototype.setFloat16()
用于从DataView
读取和设置Float16Array
值,以及Math.f16round()
静态方法,可用于将数字四舍五入为 16 位。新类型可用于与 GPU 共享数据,尤其是在将精度换取内存消耗有意义的用例中。(Firefox 错误 1903329)。 - 正则表达式现在可以在不同的 析取备选方案 中对 命名捕获组 使用相同的名称。这是允许的,因为析取中只有一个备选方案会匹配,因此在多个备选方案中声明的名称只能引用一个捕获组。名称在特定备选方案内以及整个模式中仍然必须是唯一的。(Firefox 错误 1903288)。
HTTP
- 现在可以使用 Windows 11、Linux 和 Android 10+ 上的操作系统的 DNS 解析器解析 HTTPS DNS 记录。这确保了即使在浏览器中未启用 DNS over HTTPS (DoH),如果用户已在设备上启用它,也会使用它。此功能允许在无需使用
Alt-Svc
标头的情况下使用 HTTP/3,并在存在 HTTPS DNS 记录时自动将 HTTP 请求升级到 HTTPS。最重要的是,现在允许使用 加密客户端问候 (ECH) 隐私功能,即使 DoH 仅在设备上启用,而不是在浏览器中启用。(Firefox 错误 1906239)。
API
- 现在支持已弃用的
textInput
事件,使依赖这些事件的旧版库或框架能够使用 Web 应用程序。beforeinput
事件 替代了textInput
,新应用程序应始终使用此事件。(Firefox 错误 1901923)。 - 现在支持默认的
.toJSON()
方法GeolocationCoordinates.toJSON()
和GeolocationPosition.toJSON()
,使您可以使用JSON.stringify()
对GeolocationCoordinates
和GeolocationPosition
对象进行序列化 (Firefox 错误 1890706)。 -
现在支持
CSSPageDescriptors
,并用作CSSPageRule.style
的类型,而不是CSSStyleDeclaration
——匹配当前规范。这确保CSSPageDescriptors
仅公开@page
相关属性,而不是所有属性,还解决了在 CSS@page
at-rule 中设置页面size
不会反映在CSSPageRule.style
中的问题。(Firefox 错误 1890842,Firefox 错误 1867106)。 MediaCapabilities.decodingInfo()
现在可以获取特定加密媒体配置的解码信息以及未加密媒体,使应用程序能够提前知道配置是否受支持,以及它是否会流畅播放内容并具有高能效。更改包括方法的configuration
参数上的新属性keySystemConfiguration
,它定义了用于加密媒体的密钥系统属性,以及返回对象上的新属性keySystemAccess
,它是一个MediaKeySystemAccess
对象,可用于创建密钥并解码内容以进行播放。(Firefox 错误 1898344)。- Firefox 现在在触发任何正在进行的异步
XMLHttpRequest
的事件之前触发同步XMLHttpRequest
的事件。这修复了与其他浏览器长期存在的行为差异。请注意,虽然这应该修复一些网站,但它也可能导致依赖同步XMLHttpRequest
的旧“非阻塞”行为的网站的性能下降。如果您网站本来应该通过此更改修复,但似乎仍然存在相关问题,请提交错误报告。(Firefox 错误 697151)。 - Ed25519 数字签名算法受 Web 密码 API 支持,可以在
SubtleCrypto
方法中使用:sign()
、verify()
、generateKey()
、importKey()
和exportKey()
(Firefox 错误 1804788)。 - 现在支持
contentType
和responseStatus
属性PerformanceResourceTiming
接口,分别指示获取的资源的类型和获取资源时返回的 HTTP 响应状态码。(Firefox 错误 1800443,Firefox 错误 1796785)。 - 现在支持
RTCDTMFSender.canInsertDTMF
属性。它使您可以检查 WebRTC 发送方是否可以将 DTMF 音调插入到传出连接中。如果支持,您可以通过使用RTCDTMFSender.insertDTMF()
插入 DTMF 音调。(Firefox 错误 1623193)。
删除
WebDriver 符合性(WebDriver BiDi,Marionette)
删除
- 默认情况下,CDP(Chrome DevTools 协议)现在已禁用。可以通过
remote.active-protocols
首选项重新启用它。您可以在以下博客文章 中详细了解此内容。(Firefox 错误 1882089)
WebDriver BiDi
- 添加了对
network.setCacheBehavior
命令的支持,该命令允许配置浏览器绕过网络缓存,无论是全局还是针对一组顶级浏览上下文。(Firefox 错误 1901032 和 Firefox 错误 1906100) - 添加了对类型为
beforeUnload
的提示的支持,现在可以像处理其他用户提示一样处理这些提示。(Firefox 错误 1824220) - 我们现在支持在
beforeRequestSent
阶段使用network.provideResponse
命令时所有参数,例如body
参数,该参数允许返回模拟响应。(Firefox 错误 1853882) browsingContext.userPromptOpened
现在包含handler
字段,该字段包含为触发事件的提示配置的用户提示处理程序。(Firefox 错误 1904822)BrowsingContextInfo
类型现在将提供一个originalOpener
字段,它是“打开”浏览上下文的上下文 ID。例如,如果新上下文是通过使用链接(即使使用rel=noopener
)、window.open
等创建的,则将设置此字段。如果新浏览上下文没有相关的打开者,则该字段将设置为 null。(Firefox 错误 1898004)- 现在为数据 URL 请求创建网络事件(
beforeRequestSent
、responseStarted
和responseCompleted
)。在 Firefox 129 中,只会列出导航请求。(Firefox 错误 1805176) - 我们添加了对
browsingContext.close
的promptUnload
参数的支持,该参数允许在通过此命令关闭上下文时绕过“beforeunload”提示。(Firefox 错误 1862380) - 修复了
network.continueRequest
中的一个错误,该错误会导致您无法为同一个标头设置多个值。(Firefox 错误 1904379) - 修复了
unhandledPromptBehavior
功能的一个错误,该错误无法与仅限 BiDi 的会话一起使用。(Firefox 错误 1907935) - 修复了
session.end
和browser.close
的一个错误,该错误会导致在没有连接 Marionette 客户端的情况下意外失败。(Firefox 错误 1890091) - 修复了
browsingContext.navigate
的一个错误,该错误会导致在“beforeunload”上启动相同文档导航时无法解析。(Firefox 错误 1879163) - 改进了
browser.close
命令,以便在关闭顶级浏览上下文时丢弃所有“beforeunload”提示。(Firefox 错误 1873196) - 修复了
browsingContext.userPromptOpened
事件中的一个错误,该错误会意外地遗漏defaultValue
字段(Firefox 错误 1859814) - 修复了身份验证流程期间
network.responseCompleted
事件的一个问题,该事件与规范相比发射次数过多。整个 HTTP 身份验证流程中只应有一个responseCompleted
(或fetchError
)事件。(Firefox 错误 1906106) - 改进了
browser.removeUserContext
命令,使其跳过所有“beforeunload”提示。(Firefox 错误 1876062)
旧版本
- 面向开发者的 Firefox 128
- 面向开发者的 Firefox 127
- 面向开发者的 Firefox 126
- 面向开发者的 Firefox 125
- 面向开发者的 Firefox 124
- 面向开发者的 Firefox 123
- 面向开发者的 Firefox 122
- 面向开发者的 Firefox 121
- 面向开发者的 Firefox 120
- 面向开发者的 Firefox 119
- 面向开发者的 Firefox 118
- 面向开发者的 Firefox 117
- 面向开发者的 Firefox 116
- 面向开发者的 Firefox 115
- 面向开发者的 Firefox 114
- 面向开发者的 Firefox 113
- 面向开发者的 Firefox 112
- 面向开发者的 Firefox 111
- 面向开发者的 Firefox 110
- 面向开发者的 Firefox 109
- 面向开发者的 Firefox 108
- 面向开发者的 Firefox 107
- 面向开发者的 Firefox 106
- 面向开发者的 Firefox 105
- 面向开发者的 Firefox 104
- 面向开发者的 Firefox 103
- 面向开发者的 Firefox 102
- 面向开发者的 Firefox 101
- 面向开发者的 Firefox 100
- 面向开发者的 Firefox 99
- 面向开发者的 Firefox 98