Firefox 141 for developers 发行说明

本文档提供了关于 Firefox 141 中影响开发者的变更信息。Firefox 141 于 2025 年 7 月 22 日 发布。

Web 开发人员的变更

HTML

CSS

JavaScript

HTTP

  • Clear-Site-Data 响应标头中的 "cache" 指令现在会清除 bfcache(后退/前进缓存)。这允许网站确保,如果用户注销后进行后退导航,之前会话中可见的私人信息不会暴露(Firefox bug 1930501)。

API

  • PointerEvent 接口的 persistentDeviceId 属性现在得到支持。它为与屏幕交互的每个指向设备提供一个在会话期间持久存在的唯一 ID。它提供了一种可靠的方式来标识同时与屏幕交互的多个指向设备(例如笔)(Firefox bug 1968400)。
  • IntersectionObserver 接口的 scrollMargin 属性现在得到支持。它在观察器根元素内的所有嵌套 滚动容器 上添加了一个边距,这允许观察器在目标元素滚动到视图内之前(或之后)进行观察,而不仅仅是在它们首次可见时(Firefox bug 1860030)。
  • HTMLDialogElement 接口的 closedBy 属性以及 <dialog> 元素的相应 closedby 属性现已支持。开发者可以使用这些属性来指定关闭对话框的机制,例如用户在对话框外部的交互(“浅层关闭”)或程序化关闭(Firefox bug 1964078)。
  • HTMLElement 接口的 showPopover()togglePopover() 方法现在接受 options.source 参数,而 togglePopover() 还接受 forceoptions.force 参数(Firefox bug 1936411)。(Firefox bug 1936411
    • options.source 建立了一个弹出窗口与其调用者(控件元素)之间的关系。与等效的声明式属性 popovertarget 一样,这使得弹出窗口对键盘用户更易于访问(请参阅 Popover 可访问性功能)。它还在两者之间创建了一个隐式锚点引用,这使得弹出窗口相对于其控件的定位更加自然(请参阅 Popover 锚点定位)。
    • togglePopover()forceoptions.force 参数可用于强制弹出窗口打开或关闭,并且如果弹出窗口已处于强制状态,则会被忽略。与 showPopover()hidePopover() 不同,如果弹出窗口已处于目标状态,此操作不会引发异常。
  • WebGPU API 现在在 Windows 上完全支持,除 service worker 外的所有上下文中。这允许开发者使用用户计算机的 图形处理单元 (GPU) 执行计算和图形渲染(Firefox bug 1972486)。

WebDriver 一致性 (WebDriver BiDi, Marionette)

通用

  • 从 Firefox 中移除了实验性的 CDP(Chrome DevTools Protocol)实现。因此,我们也移除了对 remote.active-protocols 偏好的支持。有关此主题的更多详细信息,请参阅 Firefox Developer ExperienceFirefox bug 1882096)。
  • 移除了临时的 remote.system-access-check.enabled 偏好设置。在测试期间,此偏好设置不再用于禁用在使用 WebDriver 访问 Firefox 的 chrome 作用域时进行的系统访问检查(Firefox bug 1955007)。

WebDriver BiDi

  • browser.createUserContext 命令添加了对 "proxy" 参数的支持。这允许客户端在创建用户上下文(即 Firefox Container)时设置 "direct" 或 "manual" 代理。稍后将添加对其他代理类型的支持(Firefox bug 1967653)。
  • 实现了新的 browsingContext.historyUpdated 事件,当在网页上下文中调用 history.pushState()history.replaceState()document.open() 时会发出此事件(Firefox bug 1906051)。
  • 改进了尝试永久安装未打包的、未签名的 Web 扩展时显示的错误消息(Firefox bug 1958723)。
  • 更新了 browsingContext.navigatebrowsingContext.reload 命令,以便在使用 "none" 的 "wait" 条件时等待 browsingContext.navigationCommitted 事件(Firefox bug 1967469)。
  • 更新了 WebDriver BiDi cookie API,以支持 "sameSite" 属性中的 "default" 值,以解决平台 API 近期的更改,这些更改将不再允许在 HTTP 页面上设置具有 "sameSite=None" 和 "secure=false" 的 cookie(Firefox bug 1971488)。

Marionette

  • 为避免对每次调用 WebDriver:ElementClick(即使没有导航发生)产生不必要的 200 毫秒延迟,我们将潜在导航的 click-and-wait 超时时间缩短至 50 毫秒以保持向后兼容。该 超时时间现在也可以配置,用户也可以通过偏好设置 完全禁用Firefox bug 1972271)。
  • Marionette 中增加了与 CHIPS cookie(具有独立分区状态的 Cookie)交互的支持(Firefox bug 1972830)。

附加组件开发人员的变更

实验性 Web 功能

这些功能将在 Firefox 141 中发布,但默认情况下是禁用的。要尝试使用它们,请在 about:config 页面上搜索相应的偏好设置并将其设置为 true。您可以在 实验性功能 页面上找到更多此类功能。