Firefox 140 for Developers Release Notes

本文档提供有关 Firefox 140 中影响开发人员的更改信息。Firefox 140 于 2025 年 6 月 24 日发布。

Web 开发人员的变更

HTML

无显著变化。

CSS

移除

  • 在 HTML 规范 移除了 outline 算法后,嵌套在 sectioning elements 中的 <h1> 元素的 UA 样式已被移除。以前,嵌套在 <article><aside><nav><section> 中的 <h1> 标题会显示得更小。现在,无论嵌套如何,<h1> 元素都具有一致的字体大小。(Firefox Bug 1964922)。

JavaScript

无显著变化。

SVG

API

序列化 HTML 时,转义属性中的 < 和 >

DOM

  • 现已支持 pointerrawupdate 事件。与相应的 pointermove 事件相比,此事件通常提供更低延迟的指针移动属性访问,并在指针数据可用时立即触发。它适用于需要高精度输入处理且仅使用合并的 pointermove 事件无法实现平滑交互的应用程序。由于监听此事件可能会影响性能,因此您应避免将其用于其他用例。(Firefox Bug 1550462)。

移除

  • 已移除 MutationEvent 接口及其相关事件(DOMSubtreeModifiedDOMNodeInsertedDOMNodeRemovedDOMCharacterDataModifiedDOMAttrModified)。(Firefox Bug 1963043)。

WebDriver 一致性 (WebDriver BiDi, Marionette)

通用

  • 改进了 Marionette 和 WebDriver BiDi 中的 Actions 实现,以防止微任务在分发单个事件时被阻止。(Firefox Bug 1965183
  • 修复了一个 bug,该 bug 导致 WebDriver Classic 和 BiDi 命令(特别是 Action 命令)在等待 RequestAnimationFrame 时可能超时。(Firefox Bug 1947402

WebDriver BiDi

  • browser.createUserContext 命令添加了对 acceptInsecureCerts 参数的支持。此参数允许客户端为特定的用户上下文(也称为 Firefox 容器)禁用或启用与证书相关的安全设置,并覆盖为会话指定的设置。(Firefox Bug 1959372
  • 实现了一个新的 browsingContext 事件 browsingContext.navigationCommitted,该事件应在为导航创建新文档后立即发出。(Firefox Bug 1945184
  • 修复了各种 browsingContext 事件意外为 webextension Browsing Contexts 发出的 bug。(Firefox Bug 1903272
  • 已将 webExtension.uninstall 命令更新为在为扩展 ID 提供空字符串时抛出 NoSuchWebExtensionError。(Firefox Bug 1956945
  • 已将 browsingContext.contextCreatedbrowsingContext.contextDestroyed 事件更新为在所有剩余情况下(包括 Firefox for Android)返回 clientWindow 属性。此属性对应于拥有 Browsing Context 的窗口的 ID。(Firefox Bug 1953743

附加组件开发人员的变更

实验性 Web 功能

这些功能已在 Firefox 140 中发布,但默认禁用。要试用它们,请在 about:config 页面上搜索相应的首选项并将其设置为 true。您可以在“实验性功能”页面找到更多此类功能。

  • Notification.maxActions (Nightly):dom.webnotifications.actions.enabled

    Notification.maxActions 只读静态属性返回浏览器对可以与 Notification 关联的操作数的限制,您可以使用 ServiceWorkerRegistration.showNotification() 来创建这些操作。此属性在 Firefox 138 版本中过早发布,此更改使其仅在 Nightly 版本中可用。(Firefox Bug 1963263)。

  • <dialog>closedBy 属性 (Nightly):dom.dialog.light-dismiss.enabled

    现已支持 HTMLDialogElement 接口的 closedBy 属性,以及 <dialog> 元素的相应 closedby 属性。开发人员可以使用这些属性来指定哪些机制可以关闭对话框,例如对话框外部的用户交互(“light dismiss”)或以编程方式关闭。(Firefox Bug 1964077)。

  • Atomics.waitAsync()javascript.options.atomics_wait_async

    Atomics.waitAsync() 静态方法在共享内存位置上异步等待,并返回一个表示操作结果的对象。它是非阻塞的,可以在主线程上使用。(Firefox Bug 1467846)。

  • Prioritized Task Scheduling API (Nightly release)。Prioritized Task Scheduling API 提供了一种标准化的方法来确定应用程序所有任务的优先级,无论这些任务是定义在网站开发者代码中,还是定义在第三方库和框架中。这增加了对 TaskSignal.any() 静态方法的支持,该方法返回一个信号,当其创建的任何 TaskSignal 对象被触发时,该信号就会被触发。该 API 现在功能齐全。(Firefox Bug 1964407)。

  • CloseWatcher (Nightly - 仅限桌面):dom.closewatcher.enabledCloseWatcher 接口使您能够实现可以使用设备原生机制关闭的组件,就像内置组件一样。例如,在 Windows 上,您可以使用此接口使自定义侧边栏在用户按下 Esc 键时关闭。(Firefox Bug 1966459)。