Web 开发人员的变更
HTML
viewport <meta>标签现在支持interactive-widget属性,这会影响当虚拟键盘等常用 UI 组件添加到屏幕时视口的大小。(Firefox bug 1831649 和 Firefox bug 1920755)。
CSS
无显著变化
JavaScript
-
支持
Uint8Array方法,以便于在 base64 和十六进制编码的字符串与字节数组之间进行转换。(Firefox bug 1917885 和 Firefox bug 1862220)。新方法包括:
Uint8Array.fromBase64()和Uint8Array.fromHex()静态方法,分别用于从 base64 和十六进制编码的字符串构建新的Uint8Array对象。Uint8Array.prototype.setFromBase64()和Uint8Array.prototype.setFromHex()实例方法,用于用 base64 或十六进制编码字符串的字节填充现有的Uint8Array对象。Uint8Array.prototype.toBase64()和Uint8Array.prototype.toHex()实例方法,它们从Uint8Array对象中的数据返回 base64 和十六进制编码的字符串。
API
-
现在支持
WorkerNavigator.permissions属性,允许在 workers 以及主窗口线程中使用 Permissions API。(Firefox bug 1193373)。 -
用于处理 服务器发送事件的
EventSource接口现在在 service workers 中得到支持。(Firefox bug 1681218)。 -
现在支持 WebCodecs API 的
ImageDecoder、ImageTrackList和ImageTrack接口,从而可以在主线程和 worker 线程中解码图像。(Firefox bug 1923755)。 -
现在,
HTMLElement接口的beforetoggle和toggle事件会在<dialog>元素显示或隐藏之前和之后立即触发。例如,beforetoggle可用于在显示对话框之前应用/移除控制对话框动画的类,或重置对话框表单的状态。toggle事件可用于获取打开状态的更改通知,否则需要MutationObserver。(Firefox bug 1876762)。 -
全局
fetch()方法和Request()构造函数的keepalive初始化选项,以及Request.keepalive属性现在都得到了支持。可以将keepalive设置为true,以防止在发起请求的页面卸载之前,浏览器中止关联的请求。例如,这可以用于在会话结束时发送分析数据,即使用户已离开或关闭了页面。使用
keepalive的fetch()与使用Navigator.sendBeacon()达到相同目的相比,具有一些优势,例如允许使用POST以外的 HTTP 方法、自定义请求属性,并通过 fetch 的Promise履行来访问服务器响应。它也支持 service workers。(Firefox bug 1906952,Firefox bug 1923044)。 -
现在可以在
<audio>/<video>元素上指定onwaitingforkey内容属性,为waitingforkey事件设置内联事件处理程序。(Firefox bug 1925952)。 -
ServiceWorkerContainer现在可以通过WorkerNavigator.serviceWorker在所有 worker 上下文中暴露,允许 worker 检查和管理与当前源关联的 service worker 注册。之前ServiceWorkerContainer仅通过Navigator.serviceWorker在主线程中可用。(Firefox bug 1113522)。 -
PerformanceNavigationTiming的name属性现在会从返回的 URL 中省略 文本片段,以符合规范。此种PerformanceResourceTiming对象由Performance.getEntries()在entryType为navigation的条目时返回。(Firefox bug 1919565)。
移除
- 用于将
ShadowRoot对象传递给Document.caretPositionFromPoint()方法的options.shadowRoots参数已从本次发布中撤回。该功能可以在 Nightly 版本中进行测试,并预计在未来重新发布。(Firefox bug 1914596)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
WebDriver BiDi
- 为
network.continueRequest命令添加了对url参数的支持,允许请求透明地重定向到另一个 URL(Firefox bug 1898158)。 - 更新了
browsingContext.print,当与不正确的尺寸一起使用时,会抛出InvalidArgumentError(Firefox bug 1886382)。 - 修复了
script.evaluate和script.callFunction,允许在沙盒域中使用document.open(Firefox bug 1918288)。 - 修复了一个错误,即当在主导航期间发生同文档导航时,
browsingContext.load事件可能包含错误的导航 ID(Firefox bug 1922327)。 - 修复了另一个由于导航导致命令可能因
UnknownError而失败的边缘情况(Firefox bug 1923899)。
Marionette
- 更新了 Marionette,以便更好地处理 Linux 上的 Wayland 窗口定位(Firefox bug 1857571)。
- 修复了一个错误,该错误在尝试点击或清除元素时,可能会在元素上留下空的
style属性(Firefox bug 1922709)。 - 更新了发送给
UnexpectedAlertOpen错误的错误消息,以包含相应警报的文本(Firefox bug 1924469)。
附加组件开发人员的变更
cookies.get现在按照 RFC 6265 的 HTTP 状态管理机制(RFC 6265)第 5.4 节 Cookie Header 的规定对 cookie 进行排序。这会影响当 cookie 具有不同路径组件的变体时,调用结果。以前,最早创建的 cookie 会被cookies.get、cookies.remove、cookies.set和cookies.getAll匹配。在此更改后,将返回路径匹配最长的 cookie。(Firefox bug 1798655)。- 修复了
declarativeNetRequestAPI 中阻止在浏览器重启后注册规则的错误(Firefox bug 1921353)。此错误影响了依赖于declarativeNetRequest.updateDynamicRules或declarativeNetRequest.updateEnabledRulesets的扩展。此修复也已向 Firefox ESR 128.5 和 Firefox ESR 115.18 反向移植。 - 修复了从 sidebar 调用
window.close()无法关闭 sidebar 的错误。
实验性 Web 功能
这些功能是 Firefox 133 中新推出的,但默认禁用。要尝试使用它们,请在 about:config 页面上搜索相应的偏好设置并将其设置为 true。您可以在 Experimental features 页面上找到更多此类功能。
-
contenteditable plaintext-only 值:
dom.element.contenteditable.plaintext-only.enabled。contenteditable全局属性的plaintext-only值表示该元素是可编辑的;富文本格式被禁用,并且粘贴文本中的任何格式都会被自动剥离。(Firefox bug 1922723)。 -
:has-slotted CSS 伪类:
layout.css.has-slotted-selector.enabled。:has-slotted伪类用于对<template>中具有在渲染 web component 时添加到<slot>元素的内容的元素进行样式设置。(Firefox bug 1921747)。