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)。- 修复了
declarativeNetRequest
API 中阻止在浏览器重启后注册规则的错误(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)。