Firefox 101 开发者指南
本文提供了有关 Firefox 101 中将影响开发者的更改的信息。Firefox 101 于 2022 年 5 月 31 日发布。
针对 Web 开发者的更改
HTML
没有明显的更改。
CSS
- 用于检测用户是否已指定对 Web 内容呈现对比度更高 (
more
) 或更低 (less
) 偏好的prefers-contrast
媒体功能现已默认可用。此功能现在还允许用户通过新的custom
值指定一组用于对比度的颜色 (Firefox 错误 1656363)。 - 引入了三个新的视口大小:小 (
s
)、大 (l
) 和动态 (d
)。除了现有的vh
、vw
、vmax
和vmin
之外,这些新大小还添加了新的 视口百分比长度单位。新的视口百分比长度单位包括svh
、lvh
、dvh
、svw
、lvw
、dvw
、svmax
、lvmax
、dvmax
、svmin
、lvmin
和dvmin
(Firefox 错误 1610815)。此外,单位vb
和vi
现在默认受支持 (Firefox 错误 1610815)。 - 已添加对
contain
属性的inline-size
值的支持。有关更多信息,请参阅 (Firefox 错误 1755565)。
JavaScript
没有明显的更改。
API
DOM
-
HTMLMediaElement.preservesPitch
现在已支持,无需使用moz
前缀。mozPreservesPitch
现在是preservesPitch
的别名,但已弃用,可能会在将来的版本中删除 (Firefox 错误 1652950)。 HTMLInputElement.showPicker()
现在已支持,允许在用户与某些其他元素(例如按钮)交互时显示输入元素的选择器 (Firefox 错误 1745005)。DOMException
现在是 可序列化对象,因此可以使用structuredClone()
克隆它,或者使用postMessage()
在 工作线程 之间复制它 (Firefox 错误 1561357)。-
现在支持可构造样式表,这使得为 Shadow DOM 创建可重用样式表变得更加容易。更新包括添加了用于创建新样式表的
CSSStyleSheet()
构造函数,CSSStyleSheet.replace()
和CSSStyleSheet.replaceSync()
方法可用于在样式表中添加/替换 CSS 规则,以及Document.adoptedStyleSheets
和ShadowRoot.adoptedStyleSheets
属性,这些属性用于将样式表共享到文档及其 Shadow DOM 子树。有关更多信息,请参阅 Firefox 错误 1520690。
媒体、WebRTC 和 Web Audio
-
现在在媒体支持查询中正确解析了 AV1 编解码器参数。这意味着
MediaCapabilities.decodingInfo()
、HTMLMediaElement.canPlayType()
和MediaSource.isTypeSupported()
现在将根据提供的编解码器参数准确报告对 AV1 源回放的支持。MediaCapabilities.decodingInfo()
还将使用这些信息准确报告 AV1 视频的“高效解码”。有关更多信息,请参阅 Firefox 错误 1757861。 -
现在支持
maxFramerate
用于设置可用于发送编码的最大帧率(在RTCPeerConnection.addTransceiver()
和RTCRtpSender.setParameters()
中)。请注意,零是有效的帧率值,但 Firefox 将其解释为“无帧率限制”。有关更多信息,请参阅 Firefox 错误 1611957。
SVG
- 使用
prefers-color-scheme
设置样式的 Firefox UI 中的 SVG 图像将尊重嵌入者的color-scheme
(以前prefers-color-scheme
忽略嵌入者的color-scheme
并根据设备或浏览器主题触发)。这确保了例如网站图标始终设置为与其嵌套的元素的主题匹配,而不一定是设备的(可能不同的)主题。(Firefox 错误 1764354)。
WebDriver 兼容性 (WebDriver BiDi、Marionette)
从 Firefox 的此版本开始,WebDriver BiDi 协议将默认启用。可以通过使用 WebDriver Classic(geckodriver、Marionette)并在创建新的 WebDriver 会话时将 webSocketURL
功能 设置为 true
来请求 WebDriver BiDi 会话。然后,相同的功能将包含 BiDi 客户端连接到的 WebSocket 端点。
以下命令和事件可用
- 添加了
session
模块,其中包括对全局订阅 (session.subscribe
) 和取消订阅 (session.unsubscribe
) 事件的命令的部分实现,以及在不使用 WebDriver Classic 的情况下创建直接 WebDriver BiDi 会话 (session.new
) 的功能。 - 添加了
browsingContext
模块,其中包括打开新标签页或窗口 (browsingContext.create
) 或关闭此类窗口 (browsingContext.close
)、检索打开的浏览上下文 (browsingContext.getTree
) 和在浏览上下文中导航 (browsingContext.navigate
) 的命令。还支持浏览上下文创建时发生的事件 (browsingContext.contextCreated
)。 - 添加了
log
模块,其中包括对日志事件 (log.entryAdded
) 的支持。
有关更多信息,请参阅 完整的错误列表。
针对附加组件开发者的更改
- 添加了
storage.StorageArea.onChanged
事件,使您能够侦听local
和sync
存储区域中内容的更改 (Firefox 错误 1758475)。 - Manifest V3 预览 功能
- 添加了
scripting
API,该 API 提供了执行脚本、插入和删除 CSS 以及管理内容脚本注册的功能 (Firefox 错误 1687764)。此 API 可用于 Manifest V3 扩展,并接管了tabs
API 中的执行脚本和插入和删除 CSS 功能。 - 添加了
action
API,该 API 在 Manifest V3 扩展中接管了browserAction
API 的功能。相应地添加了"action"
清单键和_execute_action
特殊快捷方式 到清单commands
键。请注意,browserAction
API 和"browser_action"
清单键仅在 Manifest V2 扩展中可用。 "background"
清单键属性"persistent"
可以设置为false
,受偏好设置控制:对于 Manifest V2,为extensions.eventPages.enabled
偏好设置,而在 Manifest V3 中,为extensions.manifestV3.enabled
偏好设置。- 添加了
"host_permissions"
清单键,该键可用于 Manifest V3 扩展。 - Manifest V3 扩展的内容脚本执行环境已更改
- 内容脚本不能再依赖主机权限来执行跨源请求。可以使用 CORS 从内容脚本进行跨源请求。
- 从内容脚本执行环境中删除了
content
对象(提供了content.fetch
、content.XMLHttpRequest
和content.WebSocket
)。
- 添加了
旧版本
- Firefox 100 开发者指南
- Firefox 99 开发者指南
- Firefox 98 开发者指南
- Firefox 97 开发者指南
- Firefox 96 开发者指南
- Firefox 95 开发者指南
- Firefox 94 开发者指南
- Firefox 93 开发者指南
- Firefox 92 开发者指南
- Firefox 91 开发者版
- Firefox 90 开发者版
- Firefox 89 开发者版
- Firefox 88 开发者版
- Firefox 87 开发者版
- Firefox 86 开发者版
- Firefox 85 开发者版
- Firefox 84 开发者版
- Firefox 83 开发者版
- Firefox 82 开发者版
- Firefox 81 开发者版
- Firefox 80 开发者版
- Firefox 79 开发者版
- Firefox 78 开发者版
- Firefox 77 开发者版
- Firefox 76 开发者版
- Firefox 75 开发者版
- Firefox 74 开发者版
- Firefox 73 开发者版
- Firefox 72 开发者版
- Firefox 71 开发者版
- Firefox 70 开发者版