Web 开发人员的变更
HTML
autocorrect全局属性允许在可编辑文本元素中进行自动更正,包括:大多数类型的文本<input>元素、<textarea>元素以及设置了contenteditable属性的元素。具体的自动更正行为取决于用户代理和底层操作系统。(Firefox bug 1927977)。contenteditable全局属性的plaintext-only值表示该元素可编辑;富文本格式被禁用,粘贴文本中的任何格式都会自动被移除(Firefox bug 1922724)。
CSS
:has-slotted伪类用于在渲染 Web 组件时,对<template>中已向<slot>元素添加内容的元素进行样式设置(Firefox bug 1940691)。- 现在支持
:open伪类,它允许您选择任何当前处于打开状态的元素,这适用于<details>、<dialog>、带有选择器的<input>元素以及显示下拉框的<select>元素。(Firefox bug 1936113)。 <gradient>CSS 函数linear-gradient()、conic-gradient()和radial-gradient()现在允许使用单个颜色停止点和 0-1 位置。这会生成单一纯色,并用于设置maskCSS 属性。(Firefox bug 1900530)。
JavaScript
- 现在支持
Intl.DurationFormat,从而实现持续时间的区域敏感格式化。(Firefox bug 1933303)。
HTTP
- 现在,在页面刷新后重定向到新页面的请求中会发送
RefererHTTP 标头(如果Referrer-Policy允许),并且导航后document.referrer将设置为 referrer URL。页面刷新可能由Refresh响应标头或标记中等效的<meta>触发(例如<meta http-equiv="refresh" content="3;url=https://www.mozilla.org" />)。请注意,同页面刷新被视为导航到页面片段的同页面导航:由于页面未重新请求,因此不会发送Referer。(Firefox bug 1928291)。
API
-
Data URLs 的最大大小已从 32MB 增加到 512MB,与 Chromium 浏览器的限制相匹配(Firefox bug 1911300)。
-
现在,对于 包含元素引用的 Aria 属性,其元素属性会得到反映(Firefox bug 1919102)。
这包括
ariaActiveDescendantElement、ariaControlsElements、ariaDescribedByElements、ariaDetailsElements、ariaErrorMessageElements、ariaFlowToElements、ariaLabelledByElements、ariaOwnsElements在Element接口中ariaActiveDescendantElement、ariaControlsElements、ariaDescribedByElements、ariaDetailsElements、ariaErrorMessageElements、ariaFlowToElements、ariaLabelledByElements、ariaOwnsElements在ElementInternals接口中。
媒体、WebRTC 和 Web Audio
- WebRTC 现在可以使用 AV1 编解码器发送和接收编码视频。发送时,它可以用于同时发送同一源的多个版本(“simulcast”)和单播。(Firefox bug 1944878 和 Firefox bug 1932065)。
- 也支持使用 H264 编解码器共享屏幕视频的 WebRTC 联播(现在 AV1、H264 和 VP8 都可以用于联播)。请注意,H264 编解码器在 Android 上是硬件支持的。(Firefox bug 1210175)。
- WebRTC 支持 依赖描述符 (DD) RTP 头扩展,以及它与 AV1、VP8 和 VP9 编解码器的使用。DD 头扩展能够以独立于编解码器的方式转发联播流,包括在有效负载是端到端加密 (E2EE) 的场景中。(Firefox bug 1945261)。
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)。
附加组件开发人员的变更
- 向
background清单键添加了preferred_environment属性,使扩展程序能够请求浏览器将其后台脚本作为文档或服务工作器运行(Firefox bug 1798655)。 menus.update和menus.remove以及别名contextMenus.update和contextMenus.remove现在在菜单项不存在时会因错误而拒绝。以前,错误会被忽略,并且 Promise 会被 fulfill。(Firefox bug 1688743)。- 桌面版 Firefox 上提供了新版本的
userScriptsAPI。此版本的 API 用于 Manifest V3 扩展,并与 Chrome 具有广泛的兼容性,尽管浏览器之间的 权限机制有所不同。(Firefox bug 1943050)。 - 当下载因
NETWORK_FAILED失败时,downloads.DownloadItem的canResume属性现在设置为true。这使得因网络错误而失败的下载能够使用downloads.resume()进行恢复。(Firefox bug 1694049)。
实验性 Web 功能
这些功能是 Firefox 136 中新增的,但默认禁用。要试用它们,请在 about:config 页面上搜索相应的首选项并将其设置为 true。您可以在 实验性功能 页面上找到更多此类功能。
- CSS
hyphenate-limit-chars属性:layout.css.hyphenate-limit-chars.enabled。hyphenate-limit-charsCSS 属性用于专门指定断字的最小词长以及连字符前后的字符数。(Firefox bug 1521723)。 - Error.captureStackTrace():
javascript.options.experimental.error_capture_stack_trace。Error.captureStackTrace()静态方法将堆栈跟踪信息安装到提供的对象上,作为Error.stack属性。它的主要用例是在不派生自Error接口的自定义错误对象上安装堆栈跟踪。(Firefox bug 1886820)。 - Clear-Site-Data: cache:
privacy.clearSiteDataHeader.cache.enabled。Clear-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)。