Web 开发人员的变更
HTML
移除
<object>元素不再支持已弃用的codebase属性。请改用data属性。(更多详情,请参阅 Firefox bug 1973900。)
CSS
@scope内的&选择器不再继承作用域起始选择器的优先级。这使得@scope中的&选择器与 CSS 嵌套保持一致,避免了意外的优先级差异(参见 CSS 嵌套和优先级)。(Firefox bug 1975531)。
JavaScript
无显著变化。
API
- 完全支持 URL Pattern API,使你能够使用标准化的模式语法来匹配和解析 URL。(Firefox bug 1731418)。
- File and Directory Entries API 现在在 Firefox for Android 上完全支持
HTMLInputElement.webkitdirectory(以及对应的 HTMLwebkitdirectory属性)和File.webkitRelativePath属性。这允许你将<input type="file">元素配置为接受目录而不是文件(Firefox bug 1973726)。
DOM
- 现已支持
Selection.getComposedRanges()方法,允许开发者跨 Shadow DOM 边界准确获取选定的文本范围。此外,Selection接口的setBaseAndExtent()、collapse()和extend()方法已被修改,可以接受 Shadow Root 内的节点。(Firefox bug 1903870)。 - 现已支持
Animation.overallProgress属性,允许开发者跟踪和显示动画的整体进度。(Firefox bug 1834878)。 Animation.commitStyles()方法不再要求在动画上设置fill才能在动画完成后提交计算样式。请注意,在更多浏览器支持此更改之前,你仍应设置fill。(Firefox bug 1973203)。- 现已支持优先级任务调度 API,为应用程序提供了一种标准化的机制来分配和管理任务优先级。支持的接口包括:
Scheduler、TaskController、TaskSignal、TaskPriorityChangeEvent(以及prioritychange事件),以及Window.scheduler和WorkerGlobalScope.scheduler属性。不支持Scheduling接口和Navigator.scheduling属性。(Firefox bug 1966997)。
媒体、WebRTC 和 Web Audio
- 现已支持
RTCIceCandidatePairStats字典的currentRoundTripTime、totalRoundTripTime和responsesReceived属性。它们返回当前的往返时间(RTT)以及计算连接平均 RTT 所需的信息。(Firefox bug 1371391)。 RTCRtpSender接口的setParameters()和getParameters()方法现在支持设置和获取每个encoding所使用的特定codec。你还可以在传递给RTCPeerConnection接口的addTransceiver()方法的init.sendEncodings数组中为每个编码设置一个codec。(Firefox bug 1894137)。- 现已支持
RTCInboundRtpStreamStats接口的estimatedPlayoutTimestamp、framesAssembledFromMultiplePackets、freezeCount、jitterBufferMinimumDelay、jitterBufferTargetDelay、keyFramesDecoded、pauseCount、totalAssemblyTime、totalFreezesDuration和totalPausesDuration属性。(Firefox bug 1926622)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 从 WebDriver 功能中移除了 FTP 代理支持(Firefox bug 1972670)。
- 将通过 WebDriver BiDi 和 WebDriver classic (Marionette) 设置的所有 Cookie 的过期值更新为最多 400 天(Firefox bug 1974394)。
WebDriver BiDi
- 实现了新的
emulation.setLocaleOverride命令,允许客户端在 JavaScript API 中覆盖区域设置(Firefox bug 1968952)。 - 改进了使用
browsingContext.createUserContext设置代理的功能:在noProxy属性中添加了对.mozilla.org等主机模式的支持(Firefox bug 1977180),并修复了设置 HTTP 代理后无法导航到 HTTPS URL 的错误(Firefox bug 1977168)。 - 修复了在
browsingContext.print命令被browsingContext.close命令关闭标签页中断后,browsingContext.create会失败的错误(Firefox bug 1841125)。 - 更新了
session.end命令,以恢复所有被网络拦截阻塞的请求(Firefox bug 1974426)。
Marionette
- 更新了
WebDriver:AddCookie命令,当目标 Cookie 具有sameSite=none和secure=false属性时会抛出错误(Firefox bug 1977205)。 - 从
unexpected alert open错误消息中移除了对话框文本值,因为现在可以通过data字段获取对话框文本(Firefox bug 1948236)。
附加组件开发人员的变更
- 在 Nightly 版本中,通过
cookies.set()创建的 Cookie 现在会进行验证,无效的 Cookie 会被拒绝。在 Nightly 中实施此功能是为了监控任何可能出现的问题。计划在未来的版本中在所有渠道强制执行验证。(Firefox bug 1976197) cookies方法现在接受并返回expirationDate小数部分的毫秒数。(Firefox bug 1972757)- 添加了
browserAction.onUserSettingsChanged和action.onUserSettingsChanged事件,用于监听影响扩展程序操作的用户指定设置的更改。(Firefox bug 1828220) - 添加了
browserSettings.verticalTabs,使扩展程序能够控制浏览器是水平还是垂直显示标签栏。(Firefox bug 1946600)
实验性 Web 功能
-
anchor-size()(Nightly):layout.css.anchor-positioning.enabledCSS
anchor-size()函数可以相对于锚元素的尺寸来设置锚定位元素的大小、位置和外边距。(Firefox bug 1972610)。 -
:heading和:heading():layout.css.heading-selector.enabledCSS
:heading伪类允许你一次性为所有标题元素(<h1>-<h6>)设置样式,而无需单独定位它们。CSS:heading()函数式伪类允许你为匹配<An+B>写法的标题元素设置样式。(Firefox bug 1974386)。 -
view-transition-name: match-element(Nightly):dom.viewTransitions.enabledCSS
view-transition-name属性的match-element值自动为每个选定元素分配一个唯一的内部view-transition-name,而无需单独命名它们。(Firefox bug 1956141)。 -
Integrity-Policy和Integrity-Policy-Report-Only(脚本) (Nightly):security.integrity_policy.enabled现已支持用于脚本资源的
Integrity-Policy和Integrity-Policy-Report-OnlyHTTP 标头。它们分别允许网站对脚本强制执行子资源完整性保证,或仅报告策略违规。(Firefox bug 1976656)。 -
Integrity-Policy和Integrity-Policy-Report-Only(样式表):security.integrity_policy.stylesheet.enabled现已支持用于样式表资源的
Integrity-Policy和Integrity-Policy-Report-OnlyHTTP 标头。它们分别允许网站对策略强制执行或仅报告策略违规。(Firefox bug 1974247)。
这些功能随 Firefox 142 一同发布,但默认处于禁用状态。要体验它们,请在 about:config 页面搜索相应的首选项并将其设置为 true。你可以在实验性功能页面上找到更多此类功能。