Firefox 136 开发者发行说明

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

Web 开发人员的变更

HTML

  • autocorrect 全局属性允许在可编辑文本元素中进行自动更正,包括:大多数类型的文本 <input> 元素、<textarea> 元素以及设置了 contenteditable 属性的元素。具体的自动更正行为取决于用户代理和底层操作系统。(Firefox bug 1927977)。
  • contenteditable 全局属性的 plaintext-only 值表示该元素可编辑;富文本格式被禁用,粘贴文本中的任何格式都会自动被移除(Firefox bug 1922724)。

CSS

JavaScript

HTTP

  • 现在,在页面刷新后重定向到新页面的请求中会发送 Referer HTTP 标头(如果 Referrer-Policy 允许),并且导航后 document.referrer 将设置为 referrer URL。页面刷新可能由 Refresh 响应标头或标记中等效的 <meta> 触发(例如 <meta http-equiv="refresh" content="3;url=https://www.mozilla.org" />)。请注意,同页面刷新被视为导航到页面片段的同页面导航:由于页面未重新请求,因此不会发送 Referer。(Firefox bug 1928291)。

API

媒体、WebRTC 和 Web Audio

WebDriver 一致性 (WebDriver BiDi, Marionette)

通用

  • Firefox 现在可以更高效地处理 RemoteAgent 的 WebSocket 端口冲突。如果通过 --remote-debugging-port 命令行参数指定的端口在 5 秒内无法获取,例如当另一个 Firefox 进程正在使用它时,Firefox 现在将关闭而不是挂起(Firefox bug 1927721)。

  • 通过 Marionette 中的 WebDriver:Navigate 命令或 WebDriver BiDi 中的 browsingContext.navigate 触发的使用 HTTP 方案的导航将不再自动升级到 HTTPS。这些请求现在将按预期保留在 HTTP 上(Firefox bug 1943551)。

WebDriver BiDi

  • session.subscribe 命令现在返回一个订阅 ID,该 ID 可以与 session.unsubscribe 配合使用,以精确地定位与原始订阅相同的先前订阅事件和上下文。这有助于防止存在多个订阅(例如限于特定选项卡的订阅)时出现意外的副作用(Firefox bug 1938576)。

    注意:先前通过名称和上下文移除事件的逻辑已被弃用,并将在未来版本中移除。

  • script.addPreloadScript 命令添加了对 userContexts 字段的支持,允许客户端指定脚本应始终自动加载到哪些用户上下文(容器)中,包括在此类指定用户上下文内打开的任何新浏览上下文(Firefox bug 1940927)。

  • 当上下文关闭时,browsingContext.contextDestroyed 事件现在返回一个完全序列化的浏览上下文树,包括其所有子上下文(Firefox bug 1860955)。

附加组件开发人员的变更

实验性 Web 功能

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

  • CSS hyphenate-limit-chars 属性layout.css.hyphenate-limit-chars.enabledhyphenate-limit-chars CSS 属性用于专门指定断字的最小词长以及连字符前后的字符数。(Firefox bug 1521723)。
  • Error.captureStackTrace()javascript.options.experimental.error_capture_stack_traceError.captureStackTrace() 静态方法将堆栈跟踪信息安装到提供的对象上,作为 Error.stack 属性。它的主要用例是在不派生自 Error 接口的自定义错误对象上安装堆栈跟踪。(Firefox bug 1886820)。
  • Clear-Site-Data: cacheprivacy.clearSiteDataHeader.cache.enabledClear-Site-Data 标头可与 cache* 指令一起使用,以清除浏览器缓存。(Firefox bug 1942272)。
  • 用于 SVG 动画的 SVG <discard> 元素svg.discard.enabled<discard> SVG 元素允许开发者指定一个触发器,例如 SVG 加载到 DOM 中的经过时间或特定动画的结束,在该触发器处,指定的元素及其子元素应从 DOM 中移除。这允许 SVG 查看器通过丢弃不再需要的动画元素来节省内存。(Firefox bug 1069931)。
  • SVG 路径 API 方法dom.svg.pathSegment.enabled。现在支持 SVGPathElement 接口的 getPathData()setPathData()getPathSegmentAtLength() 方法。这些方法提供了一种方便的方式来处理 SVG 路径数据,而不是解析原始字符串数据。(Firefox bug 1934525)。