Firefox 138 开发者发行说明

本文提供有关 Firefox 138 中影响开发者的更改的信息。Firefox 138 于 2025 年 4 月 29 日发布。

Web 开发人员的变更

HTML

  • <script> 元素的 type 属性的 importmap 值现在支持 integrity 键。这允许将导入映射中引用的 ES 模块 URL 与其完整性元数据进行匹配。因此,这些模块现在与需要子资源完整性 (SRI) 的 CSP 指令兼容。( Firefox bug 1945540 )。

CSS

无显著变化

JavaScript

HTTP

  • Clear-Site-Data 头可以与 cache (和 *)指令一起使用,以清除浏览器网络缓存。这使网站能够更好地控制为其用户存储的数据,例如,通过在注销时清除缓存来降低隐私泄露的风险。( Firefox bug 1942272 )。
  • HTTP Origin-Agent-Cluster 响应头现在可由站点使用,以提示关联文档应放置在基于源的 代理集群中。在此类集群中,文档使用的操作系统进程和/或其他操作系统资源仅与来自同一 的其他文档共享。这使得资源密集型文档不太可能降低来自其他源的文档的性能。开发人员可以使用 window.originAgentCluster 属性测试浏览器是否已将文档放置在基于源的代理集群中。( Firefox bug 1665474 )

API

DOM

媒体、WebRTC 和 Web Audio

  • WebRTC 应用程序现在可以设置在由于网络降级而无法将帧速率和分辨率都保持在配置水平时,优先考虑帧速率或分辨率的偏好。该值使用传递给 RTCRtpSender 接口的 setParameters() 方法的参数对象中的 degradationPreference 属性进行设置。它也可以从 getParameters() 方法返回的对象中读取。( Firefox bug 1329847 )。

WebDriver 一致性 (WebDriver BiDi, Marionette)

通用

  • 所有远程协议现在都启用了将日志正确传输到 stdout 所需的首选项 ( Firefox bug 1947740 )。
  • 添加了一个新的 Firefox 参数 --remote-enable-system-access,用于启用敏感功能,例如与父进程中的浏览上下文(例如浏览器 UI)交互或在内容进程中使用特权 API。这将在后续版本中用于 WebDriver BiDi 功能,并且已经可以与 Marionette 一起使用(参见下面的 Marionette 部分)(Firefox bug 1944565)。

WebDriver BiDi

  • webExtension.install 命令现在默认临时安装 Web 扩展,允许它与未签名扩展一起使用——无论是作为 XPI 文件还是作为未打包文件夹。已添加了一个新的 Firefox 特定参数 moz:permanent,以强制将其安装为常规扩展 (Firefox bug 1947678)。
  • browsingContext.setViewport 命令现在支持 userContexts 参数,该参数必须是一个用户上下文(Firefox 容器)ID 数组。如果提供,视口配置将应用于属于这些用户上下文的所有浏览上下文,以及在这些上下文内创建的任何未来上下文。此参数不能与现有的 context 参数一起使用 (Firefox bug 1940952)。
  • browsingContext.Info 类型现在包含一个 clientWindow 属性,对应于拥有浏览上下文的窗口的 ID。它通常由 browsingContext.getTree 返回或包含在 browsingContext.contextCreated 等事件的负载中 (Firefox bug 1920952)。

Marionette

  • 现在,使用 Marionette 切换到 chrome(父进程)上下文需要在使用 --remote-enable-system-access 命令行标志启动 Firefox 时 (Firefox bug 1710425)。

附加组件开发人员的变更

实验性 Web 功能

这些功能是 Firefox 138 中新发布的功能,被认为是实验性的。它们可能默认禁用或默认启用,但仅在 Nightly 构建中可用。对于默认禁用的功能,请在 about:config 页面上搜索适当的首选项并将其设置为 true。您可以在 实验性功能 页面上找到更多此类功能。