Firefox 126 的开发者说明
本文提供了有关 Firefox 126 中影响开发者的变更信息。Firefox 126 于 2024 年 5 月 14 日发布。
为 Web 开发者带来的变化
开发者工具
- 添加了用于禁用拆分控制台的选项(Firefox bug 1731635)。
HTML
没有值得注意的变化。
MathML
移除
- 垂直居中运算符(+、=、< 等)的自动调整已默认禁用。这种行为并未在 MathML Core 中定义,这只是为非数学字体的问题提供的一种解决方案。仍可以通过将
mathml.centered_operators.disabled
配置设为false
来启用此特性。(Firefox bug 1890531)。
CSS
- 现已支持
zoom
属性。其可用于增加或减小元素及其内容的大小(Firefox bug 390936)。
JavaScript
没有值得注意的变化。
HTTP
- 现已支持新的
Content-Encoding
HTTP 标头的指令zstd
,允许解码服务器发送的、使用 Zstandard 压缩算法编码的内容(Firefox bug 1871963)。
API
-
现已支持
IDBFactory.databases()
,其用于枚举可用的 IndexedDB API 数据库(Firefox bug 934640)。 -
现在支持使用
IDBTransaction.durability
来查询用于创建特定事务的持久性提示(Firefox bug 1878143)。 -
URL.parse()
静态方法现已支持创建URL
对象。如果传递的参数未定义有效的URL
,则返回null
,因此可以作为使用URL
构造函数创建URL
对象的不抛出异常的替代方法(Firefox bug 1823354)。 -
现已支持屏幕唤醒锁 API,其用于请求在应用程序处于活动状态时不要使屏幕变暗或锁定。这对于导航和阅读应用程序以及其他的因为在使用时屏幕可能不会接收到通常会使其保持唤醒状态的常规触摸输入的应用程序特别有用。在安全上下文中,可以通过
Navigator.wakeLock
(会返回一个WakeLock
)访问 API。其允许你请求一个用于监视唤醒锁的状态并手动释放它的WakeLockSentinel
(Firefox bug 1589554、Firefox bug 1874849)。 -
现已支持所有的
RTCIceCandidate
属性和方法(除了未实现的relayProtocol
和url
属性),并与规范相匹配。已对RTCIceCandidate
的属性进行了以下更改:- 已将以下属性变为只读:
candidate
、sdpMid
、sdpMLineIndex
和usernameFragment
。 - 已添加以下属性:
foundation
、component
、priority
、address
、protocol
、port
、type
、tcpType
、relatedAddress
、relatedPort
和usernameFragment
。
- 已将以下属性变为只读:
-
现已支持
Element.currentCSSZoom
只读属性,其用于获取元素的实际 CSS zoom(Firefox bug 1880189)。
DOM
- 定义自定义元素的状态并使用 CSS 选择器进行匹配的特性现已默认可用。自定义状态被表示为可以添加到或从元素的
ElementInternals.states
属性(CustomStateSet
)中移除的自定义标识符。CSS:state()
伪类以自定义标识符为参数,并在自定义元素的状态集中存在该标识符时匹配该元素(Firefox bug 1887543)。 - 现已支持
Selection.direction
属性,其用于指示范围的方向(Firefox bug 1867058)。
媒体、WebRTC 和 Web 音频
移除
- 现已从
HTMLMarqueeElement
中删除字幕事件bounce
、finish
和start
,同时删除的还有在<marquee>
HTML 元素上定义的相应的事件处理器属性(Firefox bug 1689705)。
WebDriver 一致性(WebDriver BiDi、Marionette)
WebDriver BiDi
- 已为
network.addIntercept
命令添加了contexts
参数,其用于限制对特定顶级浏览上下文的网络请求拦截(Firefox bug 1884935)。 session.subscribe
和session.unsubscribe
现在都会在参数events
或contexts
的值为空数组时引发invalid argument
错误(Firefox bug 1884935)。- 已更新对
storage.getCookies
命令的实现,以与 Gecko 默认的 cookie 行为保持一致。这允许删除用户的network.cookie.cookieBehavior
偏好设置(预期仅会用于我们的 CDP 实现)(Firefox bug 1884935)。 - 已移除
browsingContext.locateNodes
命令的ownership
和sandbox
参数,因为它们不再被需要(Firefox bug 1884935)。 - 已改进
session.new
命令在未指定任何能力时的错误消息(Firefox bug 1885495)。
为附加组件开发者带来的变化
commands.onCommand
事件现在将tab
参数传递给事件监听器。这使得扩展可以将触发的快捷键应用于发出该事件的页面,而无需调用tabs.query()
方法(Firefox bug 1843866)。runtime.MessageSender
类型现在包含origin
属性。这使得消息或连接请求可以查看打开连接的页面或框架。这对于在 URL 中未明确显示来源的情况下确定来源是否可信非常有用(Firefox bug 1787379)。- 现已支持
"webRequestAuthProvider"
权限。这为 Manifest V3 中用于webRequest.onAuthRequired
的请求权限提供了与 Chrome 的兼容性(Firefox bug 1820569)。 - 现在提供
options_page
清单键来作为options_ui
键的别名。这是为了使扩展更好地与 Chrome 兼容(Firefox bug 1816960)。 tabs.captureVisibleTab
方法现在也可以通过activeTab
权限启用,这提供了与 Chrome 和 Safari 的兼容性(Firefox bug 1784920)。
其他
实验性 Web 特性
这些特性是 Firefox 126 中新添加的,但在默认情况下是禁用的。要尝试这些特性,请在 about:config
页面上搜索相应的首选项,并将其设置为 true
。你可以在实验性特性页面上找到更多这样的特性。
-
可跨越影子 DOM 边界的选择:
dom.shadowdom.selection_across_boundary.enabled
。Selection.getComposedRanges()
方法现在可用于获取影子 DOM 中具有锚点或焦点的节点的选择范围——前提是传递了包含这些节点的ShadowRoot
对象。Selection
的setBaseAndExtent()
、collapse()
和extend()
方法也已修改,以接受影子根中的节点(Firefox bug 1867058)。 -
CSS
shape()
函数:layout.css.basic-shape-shape.enabled
。你可以在
clip-path
和offset-path
属性中使用shape()
函数来定义形状。此函数使你可以更精细地控制可被定义的形状,并提供了比path()
函数更多的优点(参见 Firefox bug 1823463 以了解shape()
函数在clip-path
中的支持;参见 Firefox bug 1884424 以了解shape()
函数在offset-path
中的支持;参见 Firefox bug 1884425 以了解shape()
的插值支持)。
更早期的版本
- 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 的开发者说明
- Firefox 97 的开发者说明
- Firefox 96 的开发者说明
- Firefox 95 的开发者说明