Web 开发人员的变更
开发者工具
- 添加了禁用拆分控制台的选项(Firefox bug 1731635)。
HTML
无显著变化。
MathML
移除
- 对垂直居中运算符(+、=、< 等)的自动调整已默认禁用。此行为在 MathML Core 中未定义,并且仅作为非数学字体的解决方法而必需。通过将
mathml.centered_operators.disabled配置设置为false,仍然可以启用此行为。(Firefox bug 1890531)。
CSS
- 现已支持
zoom属性。可用于增大或减小元素及其内容的大小(Firefox bug 390936)。
JavaScript
无显著变化。
HTTP
- 现已支持
Content-EncodingHTTP 标头中的zstd指令,允许解码使用 Zstandard 压缩算法编码的服务器发送内容(Firefox bug 1871963)。
API
-
现已支持
IDBFactory.databases(),用于枚举可用的 IndexedDB API 数据库(Firefox bug 934640)。 -
现可使用
IDBTransaction.durability查询创建事务时使用的事务持久性提示(Firefox bug 1878143)。 -
现已支持
URL.parse()静态方法,用于创建URL对象。如果传入的参数未定义有效的URL,则返回null,因此可作为非抛出异常的替代方法,用于使用URL 构造函数创建URL对象(Firefox bug 1823354)。 -
现已支持 屏幕唤醒锁 API,允许 Web 应用程序请求在激活期间屏幕不被调暗或锁定。这对于导航和阅读应用程序以及其他在使用过程中可能不会接收到常规触觉输入(通常会使屏幕保持唤醒状态)的应用程序特别有用。该 API 在安全上下文中通过
Navigator.wakeLock访问,该属性返回一个WakeLock。这允许您请求一个WakeLockSentinel,可用于监视唤醒锁的状态并手动释放它(Firefox bug 1589554, Firefox bug 1874849)。 -
所有
RTCIceCandidate属性和方法现已得到支持并符合规范,但未实现的relayProtocol和url属性除外。对RTCIceCandidate属性进行了以下更改:- 以下属性被设为只读:
candidate、sdpMid、sdpMLineIndex和usernameFragment。 - 添加了以下属性:
foundation、component、priority、address、protocol、port、type、tcpType、relatedAddress、relatedPort和usernameFragment。
- 以下属性被设为只读:
-
现已支持只读属性
Element.currentCSSZoom,用于获取元素的有效 CSS zoom(Firefox bug 1880189)。
DOM
- 定义自定义元素的 state 并使用 CSS 选择器匹配它们的功能现在已默认可用。自定义 state 表示为自定义标识符,可以添加到元素的
ElementInternals.states属性(一个CustomStateSet)或从中移除。CSS:state()伪类接受一个自定义标识符作为参数,如果该标识符存在于自定义元素的 state 集合中,则匹配该自定义元素(Firefox bug 1887543)。 - 现已支持
Selection.direction属性,用于指示范围的方向(Firefox bug 1867058)。
媒体、WebRTC 和 Web Audio
移除
<marquee>HTML 元素的bounce、finish和start事件已从HTMLMarqueeElement中移除,同时移除的还有相应的 事件处理程序属性(Firefox bug 1689705)。- Theora 编解码器已默认禁用,并将在未来版本中移除(Firefox bug 1860492)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
WebDriver BiDi
- 向
network.addIntercept命令添加了contexts参数,以将网络请求的拦截限制在特定的顶层浏览上下文(Firefox bug 1882260)。 - 当
session.subscribe和session.unsubscribe命令的events或contexts参数值为空数组时,这两个命令现在都会引发invalid argument错误(Firefox bug 1887871)。 - 更新了
storage.getCookies命令的实现,以符合 Gecko 的默认 Cookie 行为。这使得可以移除network.cookie.cookieBehavior首选项的用户值,该值仅预期会为我们的 CDP 实现设置(Firefox bug 1879503)。 - 移除了
browsingContext.locateNodes命令的ownership和sandbox参数,因为它们不再需要(Firefox bug 1884935)。 - 当未指定任何 capabilities 时,改进了
session.new命令的错误消息(Firefox bug 1838152)。
附加组件开发人员的变更
commands.onCommand事件现在将tab参数传递给事件监听器。这使得扩展程序可以在不调用tabs.query()方法的情况下,将触发的快捷键应用于发出快捷键的页面(Firefox bug 1843866)。runtime.MessageSender类型现在包含origin属性。这使得消息或连接请求可以查看打开连接的页面或框架。这有助于在来源不明显时识别是否可以信任该来源(Firefox bug 1787379)。- 现已支持
"webRequestAuthProvider"权限。这提供了与 Chrome 的兼容性,用于在 Manifest V3 中请求webRequest.onAuthRequired的权限(Firefox bug 1820569)。 options_pagemanifest 键被提供为options_ui键的别名。此项是为了提供与 Chrome 更好的扩展兼容性(Firefox bug 1816960)。tabs.captureVisibleTab方法现在也可以通过activeTab权限启用,从而提供与 Chrome 和 Safari 的兼容性(Firefox bug 1784920)。
实验性 Web 功能
这些功能已在 Firefox 126 中首次发布,但默认禁用。要尝试使用它们,请在 about:config 页面搜索相应的偏好设置并将其设置为 true。您可以在 实验功能页面找到更多此类功能。
-
跨 Shadow DOM 边界的选择:
dom.shadowdom.selection_across_boundary.enabled。可以使用
Selection.getComposedRanges()方法获取锚点或焦点节点位于 Shadow DOM 内的选择范围——前提是传入包含这些节点的ShadowRoot对象。Selection方法setBaseAndExtent()、collapse()和extend()也已修改为接受 Shadow Root 内的节点(Firefox bug 1867058)。 -
CSS
shape()函数:layout.css.basic-shape-shape.enabled。可以使用
shape()函数在clip-path和offset-path属性中定义形状。此函数让您可以更精细地控制定义的形状,并提供了比path()函数的若干优势(Firefox bug 1823463 用于shape()函数在clip-path中的支持,Firefox bug 1884424 用于shape()函数在offset-path中的支持,Firefox bug 1884425 用于shape()差值支持)。