Firefox 122 开发者版本

本文提供了有关 Firefox 122 中影响开发者的更改的信息。Firefox 122 于 2024 年 1 月 23 日 发布。

针对 Web 开发者的更改

HTML

  • <hr> 元素现在允许作为 <select> 元素的子元素。这是一项新功能,可提高具有许多选项的选择列表的可读性。(Firefox 错误 1830909)。
  • 如果在 <ol> 中设置为 nonedisccirclesquare,或者在 <ul> 中设置为 1aAiI,则 type HTML 属性不再起作用。由于 type<ul><ol> 列表的已弃用属性,因此应使用 list-style-type CSS 属性对其进行样式设置。(Firefox 错误 1868087)。

CSS

JavaScript

SVG

移除

  • 删除了对 SVG <use> 元素中以及通过 SVGUseElement 接口使用 data: URL 的支持,以防止 XSS 攻击。可以通过将 svg.use-element.data-url-href.allowed 首选项设置为 true 来重新启用旧版功能,尽管出于安全原因不建议这样做(Firefox 错误 1806964)。

API

DOM

移除

WebDriver 兼容性(WebDriver BiDi,Marionette)

常规

  • 修复了一个错误,该错误阻止了 执行操作 正确地为 mouse 输入源合成双击和其他多击事件(Firefox 错误 1864614)。此外,这些事件仅在自上次单击操作以来鼠标的实际位置没有发生变化时才会发出(Firefox 错误 1681076)。
  • PauseEqual(数字键盘块)键的定义已更新,以符合 WebDriver 规范(Firefox 错误 1863687)。

WebDriver BiDi

Marionette

实验性 Web 功能

这些功能在新发布的 Firefox 122 中提供,但默认情况下处于禁用状态。要试验这些功能,请在 about:config 页面上搜索相应的首选项并将其设置为 true。您可以在 实验性功能 页面上找到更多此类功能。

  • 声明式 Shadow DOM: dom.webcomponents.shadowdom.declarative.enabled<template> 元素现在支持 shadowrootmode 属性,该属性可以设置为 openclosed,与 attachShadow() 方法的 mode 选项的值相同。它允许以声明方式创建 Shadow DOM 子树。(Firefox 错误 1712140
  • Shadow DOM 的可克隆选项和属性。
    • Element.attachShadow() 方法现在支持 clonable 布尔选项,该选项指定创建的 Shadow Root 是否可克隆:默认值为 false,但当设置为 true 时,使用 Node.cloneNode()Document.importNode() 克隆的 Shadow Host 将在副本中包含 Shadow Root。
    • ShadowRoot 接口现在支持 clonable 只读属性。如果 Shadow Root 可克隆,则返回 true,否则返回 false。对于通过声明式 Shadow DOM 创建的 Shadow Root,它始终返回 true
    当通过声明式 Shadow DOM 创建 Shadow Root 时,clonable 选项默认设置为 true,并且 clonable 属性返回 true。(Firefox 错误 1712140
  • 弹出窗口 API:dom.element.popover.enabled。现在可以通过 HTML 属性或 JavaScript API 在页面内容顶部显示弹出窗口,包括使用 CSS :popover-open 伪类进行样式设置,以及对 ::backdrop 伪元素的扩展支持。有关更多详细信息,请参阅 弹出窗口 API 参考。(Firefox 错误 1823757)
  • 剪贴板读取和写入:dom.events.asyncClipboard.clipboardItemdom.events.asyncClipboard.readTextdom.events.asyncClipboard.writeText。异步 剪贴板 API 现已完全支持,包括 read()readText()write() 方法以及 ClipboardItem 接口。当读取非同源页面提供的剪贴板数据时,将出现粘贴上下文菜单供用户确认。(Firefox 错误 1809106)
  • Intl.Segmenter仅在 Firefox Nightly 中默认启用。 Intl.Segmenter 对象允许对字符串进行准确的区域设置敏感文本分割。例如,要将文本拆分为不使用空格分隔的语言中的单词:Intl.Segmenter("ja-JP", { granularity: "word" })。(Firefox 错误 1423593)

旧版本