Firefox 实验特性
此页面列出了 Firefox 的实验性和部分实现的功能,包括针对提议或前沿 Web 平台标准的功能,以及有关这些功能存在于哪些版本、是否“默认”启用以及可以使用哪个首选项来激活或停用它们的信息。这使您可以在这些功能发布之前对其进行测试。
新功能首先出现在Firefox Nightly版本中,在其中它们通常默认启用。随后,它们会传播到Firefox Developer Edition,最终传播到正式版本。在某个功能在正式版本中默认启用后,它将不再被视为实验性功能,应从主题中删除。
可以使用Firefox 配置编辑器(在 Firefox 地址栏中输入about:config
)通过修改下面列出的相关首选项来启用或禁用实验性功能。
注意:对于编辑人员 - 在向这些表格中添加功能时,请尝试使用[Firefox 错误 <编号>](https://bugzil.la/<编号>)
包含指向相关错误或错误的链接。
HTML
input type="search" 的布局
已更新input type="search"
的布局。这会导致搜索字段在有人开始在其中输入时显示清除图标,以匹配其他浏览器的实现。(有关更多详细信息,请参阅Firefox 错误 558594。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 81 | 否 |
开发者版 | 81 | 否 |
Beta | 81 | 否 |
正式版 | 81 | 否 |
首选项名称 | layout.forms.input-type-search.enabled |
切换密码显示
HTML 密码输入元素(<input type="password">
)包含一个“眼睛”图标,可以切换以显示或隐藏密码文本(Firefox 错误 502258)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 96 | 否 |
开发者版 | 96 | 否 |
Beta | 96 | 否 |
正式版 | 96 | 否 |
首选项名称 | layout.forms.reveal-password-button.enabled |
CSS
十六进制框以显示杂散控制字符
此功能将除制表符(U+0009
)、换行符(U+000A
)、换页符(U+000C
)和回车符(U+000D
)之外的其他控制字符(Unicode 类别 Cc)呈现为十六进制框,前提是它们并非预期出现。(有关更多详细信息,请参阅Firefox 错误 1099557。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 43 | 是 |
开发者版 | 43 | 否 |
Beta | 43 | 否 |
正式版 | 43 | 否 |
首选项名称 |
layout.css.control-characters.enabled 或 layout.css.control-characters.visible |
initial-letter 属性
initial-letter
CSS 属性是CSS 内联布局规范的一部分,允许您指定如何显示下降、升起和下沉的首字母。(有关更多详细信息,请参阅Firefox 错误 1223880。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 50 | 否 |
开发者版 | 50 | 否 |
Beta | 50 | 否 |
正式版 | 50 | 否 |
首选项名称 | layout.css.initial-letter.enabled |
用于相对颜色的 from 关键字
当layout.css.relative-color-syntax.enabled
首选项设置为true
时,from
关键字现在被解析为有效的 CSS 语法。尽管此关键字目前没有任何效果,但在 CSS 颜色函数中使用有效的位置时不会产生语法错误,从而支持正在进行的相对颜色工作。有关更多详细信息,请参阅Firefox 错误 1889133。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 126 | 否 |
开发者版 | 126 | 否 |
Beta | 126 | 否 |
正式版 | 126 | 否 |
首选项名称 | layout.css.relative-color-syntax.enabled |
媒体查询中作为纵横比的单个数字
支持使用单个<number>
作为<ratio>
来指定媒体查询的纵横比。(有关更多详细信息,请参阅Firefox 错误 1565562。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 70 | 否 |
开发者版 | 70 | 否 |
Beta | 70 | 否 |
正式版 | 70 | 否 |
首选项名称 | layout.css.aspect-ratio-number.enabled |
backdrop-filter 属性
backdrop-filter
属性将滤镜效果应用于元素后面的区域。(有关更多详细信息,请参阅Firefox 错误 1178765。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 70 | 否 |
开发者版 | 70 | 否 |
Beta | 70 | 否 |
正式版 | 70 | 否 |
首选项名称 | layout.css.backdrop-filter.enabled |
fit-content() 函数
适用于width
和其他大小属性的fit-content()
函数。此函数已在 CSS 网格布局轨道大小调整方面得到很好的支持。(有关更多详细信息,请参阅Firefox 错误 1312588。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 91 | 否 |
开发者版 | 91 | 否 |
Beta | 91 | 否 |
正式版 | 91 | 否 |
首选项名称 | layout.css.fit-content-function.enabled |
滚动驱动的动画
早期称为“滚动链接动画”,滚动驱动的动画依赖于滚动条的滚动位置,而不是时间或其他维度。scroll-timeline-name
和scroll-timeline-axis
属性(以及scroll-timeline
简写属性)允许您指定特定命名容器中的特定滚动条可以用作滚动驱动的动画的来源。然后,可以通过将animation-timeline
属性设置为使用scroll-timeline-name
定义的名称值,将滚动时间轴与动画相关联。
使用scroll-timeline
简写属性时,属性值的顺序必须是scroll-timeline-name
后跟scroll-timeline-axis
。此首选项后面提供了详细和简写属性。
或者,您可以使用scroll()
函数表示法与animation-timeline
结合使用,以指示祖先元素中的滚动条轴将用作时间轴。
有关更多信息,请参阅Firefox 错误 1807685、Firefox 错误 1804573、Firefox 错误 1809005、Firefox 错误 1676791、Firefox 错误 1754897和Firefox 错误 1737918。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 110 | 否 |
开发者版 | 110 | 否 |
Beta | 110 | 否 |
正式版 | 110 | 否 |
首选项名称 | layout.css.scroll-driven-animations.enabled |
@scope at-规则
@scopeCSSat-规则允许您选择特定的子元素,而无需过度提高 CSS 选择器的特异性(Firefox 错误 1886441)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 128 | 否 |
开发者版 | 128 | 否 |
Beta | 128 | 否 |
正式版 | 128 | 否 |
首选项名称 | layout.css.at-scope.enabled |
@font-face src 特性检查
@font-face
src
描述符现在支持tech()
函数,允许根据用户代理是否支持特定字体特性或技术来回退是否下载字体资源。有关更多详细信息,请参阅Firefox 错误 1715546。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 105 | 是 |
开发者版 | 105 | 否 |
Beta | 105 | 否 |
正式版 | 105 | 否 |
首选项名称 | layout.css.font-tech.enabled |
font-variant-emoji 属性
CSS font-variant-emoji
属性允许您设置显示表情符号的默认呈现样式。有关更多详细信息,请参阅(Firefox 错误 1461589)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 108 | 是 |
开发者版 | 108 | 否 |
Beta | 108 | 否 |
正式版 | 108 | 否 |
首选项名称 | layout.css.font-variant-emoji.enabled |
page-orientation 描述符
page-orientation
CSS@page
at-规则的描述符控制打印页面的旋转。当页面的方向发生变化时,它会处理跨页面的内容流。此行为不同于size
描述符,因为用户可以定义旋转页面的方向。有关更多详细信息,请参阅(Firefox 错误 1673987)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 111 | 是 |
开发者版 | 111 | 否 |
Beta | 111 | 否 |
正式版 | 111 | 否 |
首选项名称 | layout.css.page-orientation.enabled |
prefers-reduced-transparency 媒体特性
CSS prefers-reduced-transparency
媒体特性允许您检测用户是否启用了设置以最大程度地减少其设备上的透明或半透明图层效果的数量。有关更多详细信息,请参阅(Firefox 错误 1736914)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 113 | 否 |
开发者版 | 113 | 否 |
Beta | 113 | 否 |
正式版 | 113 | 否 |
首选项名称 | layout.css.prefers-reduced-transparency.enabled |
inverted-colors 媒体特性
CSS inverted-colors
媒体特性允许您检测用户代理或底层操作系统是否正在反转颜色。有关更多详细信息,请参阅(Firefox 错误 1794628)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 114 | 否 |
开发者版 | 114 | 否 |
Beta | 114 | 否 |
正式版 | 114 | 否 |
首选项名称 | layout.css.inverted-colors.enabled |
命名视图进度时间轴属性
CSS view-timeline-name
属性允许您为特定元素命名,标识其祖先滚动器元素是视图进度时间轴的来源。然后,该名称可以分配给animation-timeline
,当它在祖先滚动器的可见区域中移动时,它会对相关元素进行动画处理。有关更多详细信息,请参阅(Firefox 错误 1737920)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 114 | 否 |
开发者版 | 114 | 否 |
Beta | 114 | 否 |
正式版 | 114 | 否 |
首选项名称 | layout.css.scroll-driven-animations.enabled |
匿名视图进度时间轴函数
CSS 的 view()
函数允许您指定元素的 animation-timeline
为视图进度时间轴,这将使其在穿过其祖先滚动条的可视区域时进行动画。该函数定义了提供时间轴的父元素的轴线,以及动画开始和结束时可视区域内的内边距。有关更多详细信息,请参阅 (Firefox bug 1808410)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 114 | 否 |
开发者版 | 114 | 否 |
Beta | 114 | 否 |
正式版 | 114 | 否 |
首选项名称 | layout.css.scroll-driven-animations.enabled |
zoom 属性
非标准 CSS zoom
属性在 Nightly 版本中启用,允许您放大元素,类似于 transform
属性,但它会影响元素的布局大小。有关更多详细信息,请参阅 (Firefox bug 1855763 和 Firefox bug 390936)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 120 | 是 |
开发者版 | 120 | 否 |
Beta | 120 | 否 |
正式版 | 120 | 否 |
首选项名称 | layout.css.zoom.enabled |
为了确保与这些更改的兼容性,Nightly 版本中禁用了 供应商前缀的转换属性 和 供应商前缀的过渡属性。这些更改在以下部分中进行了描述。
text-wrap: balance & stable 值
text-wrap
CSS 属性值 balance
和 stable
分别允许以平衡的方式换行短内容,以及在用户编辑可编辑内容时不重新布局。(有关更多详细信息,请参阅 Firefox bug 1731541)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 120 | 是 |
开发者版 | 120 | 否 |
Beta | 120 | 否 |
正式版 | 120 | 否 |
首选项名称 | layout.css.text-wrap-balance.enabled, layout.css.text-wrap-balance.limit, layout.css.text-wrap-balance-after-clamp.enabled |
供应商前缀的转换属性
-moz-
前缀的 CSS 转换 属性已在 Nightly 版本中禁用,方法是将 layout.css.prefixes.transforms
首选项设置为 false
。(Firefox bug 1855763)。具体来说,禁用的属性是
-moz-backface-visibility
-moz-perspective
-moz-perspective-origin
-moz-transform
-moz-transform-origin
-moz-transform-style
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 120 | 否 |
开发者版 | 120 | 是 |
Beta | 120 | 是 |
正式版 | 120 | 是 |
首选项名称 | layout.css.prefixes.transforms |
供应商前缀的过渡属性
-moz-
前缀的 CSS 过渡 属性已在 Nightly 版本中禁用,方法是将 layout.css.prefixes.transitions
首选项设置为 false
。(Firefox bug 1855763)。具体来说,禁用的属性是
-moz-transition
-moz-transition-delay
-moz-transition-duration
-moz-transition-property
-moz-transition-timing-function
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 120 | 否 |
开发者版 | 120 | 是 |
Beta | 120 | 是 |
正式版 | 120 | 是 |
首选项名称 | layout.css.prefixes.transitions |
<h1>
嵌套在分节元素中的 UA 样式
当 <h1>
标题嵌套在 分节元素 <article>
、<aside>
、<nav>
和 <section>
中时,其字体大小现在不会减小。由于大纲算法 已从 HTML 规范中删除,因此嵌套在分节元素中的 <h1>
的 UA 样式不再相关。(Firefox bug 1883896)。
注意:此功能的首选项反向工作:在 Nightly 版本中将其设置为 false
,这将删除嵌套在分节元素中的标题的 UA 样式。在所有其他渠道中将其设置为 true
,这将保留嵌套标题的现有 UA 样式。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 125 | 否 |
开发者版 | 125 | 是 |
Beta | 125 | 是 |
正式版 | 125 | 是 |
首选项名称 | layout.css.h1-in-section-ua-styles.enabled |
shape()
函数
CSS 的 shape()
函数是 <basic-shape>
数据类型,它允许您使用一个或多个“形状命令”在 clip-path
和 offset-path
属性中定义形状。这些命令与 SVG 路径命令 非常相似。shape()
函数在某些方面类似于 path()
函数,但与使用 SVG 路径 语法的 path()
不同,shape()
使用标准 CSS 语法。这使您可以轻松创建和编辑形状,并允许使用 CSS 数学函数。有关更多详细信息,请参阅 Firefox bug 1823463(了解 clip-path
中 shape()
函数的支持)、Firefox bug 1884424(了解 offset-path
中该函数的支持)和 Firefox bug 1884425(了解其插值支持)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 126 | 是 |
开发者版 | 126 | 否 |
Beta | 126 | 否 |
正式版 | 126 | 否 |
首选项名称 | layout.css.basic-shape-shape.enabled |
@starting-style
at-rule
CSS 的 @starting-style
at-rule 允许您为 CSS 过渡设置元素的起始样式,当元素没有默认初始样式时。这对于在第一次绘制时隐藏的元素(例如 popover
或 'dialog')特别有用。尚不支持从 display: none
进行动画。有关更多详细信息,请参阅 Firefox bug 1834876 和 Firefox bug 1834877。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 127 | 是 |
开发者版 | 127 | 否 |
Beta | 127 | 否 |
正式版 | 127 | 否 |
首选项名称 | layout.css.starting-style-at-rules.enabled |
对称的 letter-spacing
CSS 的 letter-spacing
属性现在将指定的字母间距均匀地分割到每个字符的两侧。这与当前行为不同,当前行为是在一侧主要添加间距。这种方法可以改善文本间距,尤其是在混合方向文本中 Firefox bug 1891446。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 128 | 是 |
开发者版 | 127 | 否 |
Beta | 127 | 否 |
正式版 | 127 | 否 |
首选项名称 | layout.css.letter-spacing.model |
相对颜色中的 calc()
颜色通道支持
CSS 的 calc()
函数现在可以在 相对颜色 中解析颜色通道,允许您正确计算不同颜色空间或使用不同功能表示法时颜色的变化 Firefox bug 1889561。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 127 | 是 |
开发者版 | 127 | 否 |
Beta | 127 | 否 |
正式版 | 127 | 否 |
首选项名称 | layout.css.relative-color-syntax.enabled |
SVG
SVGPathSeg API
SVGPathSeg API 正在取消发布,并且已置于首选项之后。这包括:SVGPathSegList
、SVGPathElement.getPathSegAtLength()、SVGAnimatedPathData
。(有关更多详细信息,请参阅 Firefox bug 1388931)。
发布渠道 | 版本已移除 | 默认启用? |
---|---|---|
Nightly | 97 | 否 |
开发者版 | 97 | 否 |
Beta | 97 | 否 |
正式版 | 97 | 否 |
首选项名称 | dom.svg.pathSeg.enabled |
JavaScript
API
图形:Canvas、WebGL 和 WebGPU
请求视频帧回调
requestVideoFrameCallback()
方法是 HTMLVideoElement
接口的方法,它注册一个回调函数,该函数在将新的视频帧发送到合成器时运行。开发人员可以使用它对每个视频帧执行操作,从而实现更有效的画布绘制、视频分析、与外部音频源同步等等。该方法返回一个回调句柄,该句柄可以传递给 HTMLVideoElement.cancelVideoFrameCallback()
以取消未完成的回调请求。(Firefox bug 1800882)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 130 | 是 |
开发者版 | 130 | 否 |
Beta | 130 | 否 |
正式版 | 130 | 否 |
首选项名称 | media.rvfc.enabled |
命中区域
鼠标坐标是否在画布上的特定区域内是一个常见的需要解决的问题。命中区域 API 允许您定义画布的区域,并提供另一种将画布上的交互式内容公开给辅助功能工具的可能性。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 30 | 否 |
开发者版 | 30 | 否 |
Beta | 30 | 否 |
正式版 | 30 | 否 |
首选项名称 | canvas.hitregions.enabled |
WebGL:草案扩展
启用此首选项后,将启用任何当前处于“草案”状态并正在测试的 WebGL 扩展以供使用。目前,Firefox 尚未测试任何 WebGL 扩展。
WebGPU API
WebGPU API 提供低级支持,用于使用用户设备或计算机的 图形处理单元 (GPU) 执行计算和图形渲染。有关我们在此 API 上的进展,请参阅 Firefox bug 1602129。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 113 | 是 |
开发者版 | 73 | 否 |
Beta | 73 | 否 |
正式版 | 73 | 否 |
首选项名称 | dom.webgpu.enabled |
CSP 违规的报告 API 支持
报告 API 现在支持报告 内容安全策略 (CSP) 违规。
Report
实例由 ReportingObserver
接口返回,现在可以具有 "csp-violation"
的 type
值和包含 CSPViolationReportBody
接口实例的 body
属性。这允许在网页内报告 CSP 违规。
CSP 违规报告也可以发送到由 CSP report-to
指令中按名称指定的远程端点 — 端点名称和相应的 URL 必须首先在 Reporting-Endpoints
或 Report-To
HTTP 响应标头中定义。该报告是上面描述的 Report
对象的序列化,具有一个 body
属性,该属性是 CSPViolationReportBody
实例的序列化。
此违规报告取代了类似的 CSP 特定机制,用于发送违规报告,该机制使用 CSP report-uri
指令设置报告端点的 URL,并具有 CSP 特定的 JSON 违规报告格式。(Firefox bug 1391243)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 130 | 否 |
开发者版 | 130 | 否 |
Beta | 130 | 否 |
正式版 | 130 | 否 |
首选项名称 | dom.reporting.enabled |
WebRTC 和媒体
以下实验性功能包括在 WebRTC API、Web 音频 API、媒体源扩展 API、加密媒体扩展 API 和 媒体捕获和流 API 中找到的功能。
异步 SourceBuffer 添加和删除
这为添加和删除媒体源缓冲区到 SourceBuffer
接口添加了基于 Promise 的方法 appendBufferAsync()
和 removeAsync()
。有关更多信息,请参阅 Firefox bug 1280613 和 Firefox bug 778617。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 62 | 否 |
开发者版 | 62 | 否 |
Beta | 62 | 否 |
正式版 | 62 | 否 |
首选项名称 | media.mediasource.experimental.enabled |
AVIF 兼容性严格度
image.avif.compliance_strictness
首选项可用于控制处理 AVIF 图像时应用的严格度。这允许 Firefox 用户显示在某些其他浏览器上渲染的图像,即使它们不完全符合规范。
允许的值为
0
:接受图像中建议 (“should” 语言) 和要求 (“shall” 语言) 的规范违规,前提是它们可以安全或明确地解释。1
(默认值):拒绝要求的违规,但允许建议的违规。2
:严格。拒绝要求或建议中的任何违规。
发布渠道 | 添加的版本 | 默认值 |
---|---|---|
Nightly | 92 | 1 |
开发者版 | 92 | 1 |
Beta | 92 | 1 |
正式版 | 92 | 1 |
首选项名称 | image.avif.compliance_strictness |
JPEG XL 支持
如果启用了此功能,Firefox 支持 JPEG XL 图片。有关详细信息,请参阅 Firefox 错误 1539075。
请注意,如下所示,此功能仅在 Nightly 版本中可用(无论是否设置首选项)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 90 | 否 |
开发者版 | — | — |
Beta | — | — |
正式版 | — | — |
首选项名称 | image.jxl.enabled |
OpenFont COLRv1 字体
此功能提供对 OpenFont COLRv1 字体规范 的支持。这使得可以使用 CSS @font-face
规则或 CSS 字体加载 API 加载支持压缩的彩色矢量字体,这些字体具有渐变、合成和混合功能。有关详细信息,请参阅 Firefox 错误 1740530。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 105 | 否 |
开发者版 | 105 | 否 |
Beta | 105 | 否 |
正式版 | 105 | 否 |
首选项名称 | gfx.font_rendering.colr_v1.enabled |
CSS 自定义高亮 API
CSS 自定义高亮 API 提供了一种机制,用于为文档中的任意文本范围设置样式(概括了其他高亮伪元素的行为,例如 ::selection
、::spelling-error
、::grammar-error
和 ::target-text
)。这些范围使用 Range
实例(分组在一个 Highlight
中)在 JavaScript 中定义,然后使用 HighlightRegistry
注册一个名称。CSS ::highlight
伪元素用于将样式应用于已注册的高亮显示。有关详细信息,请参阅 Firefox 错误 1703961。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 117 | 是 |
开发者版 | 117 | 否 |
Beta | 117 | 否 |
正式版 | 117 | 否 |
首选项名称 | dom.customHighlightAPI.enabled |
服务工作线程
导航时预加载服务工作线程资源
NavigationPreloadManager
接口可用于在导航到页面时启用资源的预加载。预加载与工作线程启动并行进行,从而减少从导航开始到获取资源的总时间。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 99 | 是 |
开发者版 | 97 | 否 |
Beta | 97 | 否 |
正式版 | 97 | 否 |
首选项名称 | dom.serviceWorkers.navigationPreload.enabled |
WebVR API
WebVR API(已禁用)
已弃用的 WebVR API 即将被移除。默认情况下,它在所有版本中都已禁用 Firefox 错误 1750902。
发布渠道 | 版本已移除 | 默认启用? |
---|---|---|
Nightly | 98 | 否 |
开发者版 | 98 | 否 |
Beta | 98 | 否 |
正式版 | 98 | 否 |
首选项名称 | dom.vr.enabled |
HTML DOM API
跨越 Shadow DOM 边界的选中区域
Selection.getComposedRanges()
方法可用于获取一个 StaticRange
对象数组,这些对象表示当前选定的范围或范围。与 Selection.getRangeAt()
不同,此方法可以返回锚点或焦点节点位于 Shadow DOM 内部的范围,但前提是它传递了包含这些节点的 ShadowRoot
对象。否则,它将返回一个范围,该范围已重新调整范围以包含包含该节点的 Shadow Root 的宿主节点。Selection
方法 setBaseAndExtent()
、collapse()
和 extend()
也已修改为接受 Shadow Root 内部的节点。
用户通过鼠标、键盘等进行的选择可以在文档的任何位置开始和结束,包括任何打开或关闭的 Shadow 树内部。(Firefox 错误 1867058)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 126 | 是 |
开发者版 | 126 | 否 |
Beta | 126 | 否 |
正式版 | 126 | 否 |
首选项名称 | dom.shadowdom.selection_across_boundary.enabled |
HTMLMediaElement 方法:setSinkId()
HTMLMediaElement.setSinkId()
允许您设置 HTMLMediaElement
上音频输出设备的 Sink ID,从而更改音频的输出位置。有关详细信息,请参阅 Firefox 错误 934425。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 64 | 否 |
开发者版 | 64 | 否 |
Beta | 64 | 否 |
正式版 | 64 | 否 |
首选项名称 | media.setsinkid.enabled |
HTMLMediaElement 属性:audioTracks 和 videoTracks
启用此功能会将 HTMLMediaElement.audioTracks
和 HTMLMediaElement.videoTracks
属性添加到所有 HTML 媒体元素。但是,由于 Firefox 目前不支持多音频和视频轨道,因此这些属性最常见的用例无法正常工作,因此它们都默认处于禁用状态。有关详细信息,请参阅 Firefox 错误 1057233。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 33 | 否 |
开发者版 | 33 | 否 |
Beta | 33 | 否 |
正式版 | 33 | 否 |
首选项名称 | media.track.enabled |
GeometryUtils 方法:convertPointFromNode()、convertRectFromNode() 和 convertQuadFromNode()
GeometryUtils
方法 convertPointFromNode()
、convertRectFromNode()
和 convertQuadFromNode()
将给定的点、矩形或四边形从调用它们的 Node
映射到另一个节点。(有关详细信息,请参阅 Firefox 错误 918189。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 31 | 是 |
开发者版 | 31 | 否 |
Beta | 31 | 否 |
正式版 | 31 | 否 |
首选项名称 | layout.css.convertFromNode.enable |
GeometryUtils 方法:getBoxQuads()
GeometryUtils
方法 getBoxQuads()
返回相对于任何其他节点或视口的 Node
的 CSS 盒子。(有关详细信息,请参阅 Firefox 错误 917755。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 31 | 是 |
开发者版 | 31 | 否 |
Beta | 31 | 否 |
正式版 | 31 | 否 |
首选项名称 | layout.css.getBoxQuads.enabled |
支付请求 API
主要支付处理
支付请求 API 提供了在 Web 内容或应用程序中处理基于 Web 的支付的支持。由于在用户界面测试期间出现了一个错误,我们决定推迟发布此 API,同时就 API 的潜在更改进行讨论。工作正在进行中。(有关详细信息,请参阅 Firefox 错误 1318984。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 55 | 否 |
开发者版 | 55 | 否 |
Beta | 55 | 否 |
正式版 | 55 | 否 |
首选项名称 | dom.payments.request.enabled 和dom.payments.request.supportedRegions |
Web 共享 API
Web 共享 API 允许从网站共享文件、URL 和其他数据。此功能在 Android 的所有版本中都已启用,但在桌面版本中则隐藏在首选项后面(除非在下面指定)。
发布渠道 | 版本已更改 | 默认启用? |
---|---|---|
Nightly | 71 | 否(默认)。是(Windows 版本 92 及以上) |
开发者版 | 71 | 否 |
Beta | 71 | 否 |
正式版 | 71 | 否(桌面)。是(Android)。 |
首选项名称 | dom.webshare.enabled |
屏幕方向 API
ScreenOrientation.lock()
ScreenOrientation.lock()
方法允许设备锁定到特定方向,前提是设备支持该方向并且浏览器预锁定要求允许。通常,仅当文档以全屏显示时,才允许在移动设备上锁定方向。有关详细信息,请参阅 Firefox 错误 1697647。
发布渠道 | 版本已更改 | 默认启用? |
---|---|---|
Nightly | 111 | 是 |
开发者版 | 97 | 否 |
Beta | 97 | 否 |
正式版 | 97 | 否 |
首选项名称 | dom.screenorientation.allow-lock |
优先级任务调度 API
优先级任务调度 API 提供了一种标准化方法来为应用程序的所有任务设置优先级,无论这些任务是在网站开发人员的代码中定义,还是在第三方库和框架中定义。
从 Firefox 101 开始,此功能在 Firefox Nightly(仅限)中启用。没有提供首选项来允许它在其他版本中启用。
通知 API
在 Windows 系统和 Nightly 版本中,通知的 requireInteraction
属性默认设置为 true(Firefox 错误 1794475)。
发布渠道 | 版本已更改 | 默认启用? |
---|---|---|
Nightly | 117 | 是 |
开发者版 | 117 | 否 |
Beta | 117 | 否 |
正式版 | 117 | 仅限 Windows |
首选项名称 | dom.webnotifications.requireinteraction.enabled |
Web 编解码器 API
Web 编解码器 API 使 Web 开发人员能够低级访问视频流的各个帧和音频块。以下接口受支持(仅限 Linux 桌面):VideoEncoder
、VideoDecoder
、EncodedVideoChunk
、VideoFrame
、VideoColorSpace
。(Firefox 错误 1874445)。
发布渠道 | 版本已更改 | 默认启用? |
---|---|---|
Nightly | 123 | 是。仅限 Linux 桌面。 |
开发者版 | 123 | 否 |
Beta | 123 | 否 |
正式版 | 123 | 否 |
首选项名称 | dom.media.webcodecs.enabled |
安全与隐私
阻止加密页面上的 Flash 发出纯文本请求
为了帮助缓解由加密页面上的 Flash 内容引起的中间人 (MitM) 攻击,已添加了一个首选项来将 OBJECT_SUBREQUEST
视为活动内容。有关详细信息,请参阅 Firefox 错误 1190623。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 59 | 否 |
开发者版 | 59 | 否 |
Beta | 59 | 否 |
正式版 | 59 | 否 |
首选项名称 | security.mixed_content.block_object_subrequest |
不安全页面标签
这两个首选项在地址栏中传统的锁图标旁边添加了一个“不安全”文本标签,当页面以不安全的方式加载时(即,使用 HTTP 而不是 HTTPS)。有关详细信息,请参阅 Firefox 错误 1335970。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 60 | 否 |
开发者版 | 60 | 否 |
Beta | 60 | 否 |
正式版 | 60 | 否 |
首选项名称 |
正常浏览模式下的 security.insecure_connection_text.enabled ;隐私浏览模式下的 security.insecure_connection_text.pbmode.enabled |
权限策略/功能策略
Clear-Site-Data“cache”指令
Clear-Site-Data
HTTP 响应标头的 cache
指令会清除请求网站的浏览器缓存。
注意:这最初是默认启用的,但在版本 94 中已置于首选项之后(Firefox 错误 1729291)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 63 | 否 |
开发者版 | 63 | 否 |
Beta | 63 | 否 |
正式版 | 63 | 否 |
首选项名称 | privacy.clearsitedata.cache.enabled |
隐私保护归因 API (PPA)
PPA API 提供了一种替代用户跟踪的广告归因方法,使用新的 navigator.privateAttribution
对象以及 saveImpression()
和 measureConversion()
方法。阅读有关 PPA 的更多信息 在说明文档中。可以通过 源试用 为网站启用此实验,或者通过将首选项设置为 1
在浏览器中启用。(Firefox 错误 1900929)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 128 | 否 |
开发者版 | 128 | 否 |
Beta | 128 | 否 |
正式版 | 128 | 否 |
首选项名称 | dom.origin-trials.private-attribution.state |
HTTP
具有独立分区状态的 Cookie (CHIPS)
CHIPS 或“分区 Cookie”允许开发人员选择将 Cookie 启用到分区存储中,每个顶级站点都有单独的 Cookie 存储。分区 Cookie 只能在设置它们的同一顶级站点及其子域中读取。这阻止了跨站点跟踪,同时仍然允许合法使用第三方 Cookie,例如在站点的不同子域之间持久化嵌入地图或聊天窗口的状态。分区 Cookie 使用 Set-Cookie
HTTP 标头的 partitioned
指令设置。(Firefox 错误 1898253)。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 128 | 是 |
开发者版 | 128 | 否 |
Beta | 128 | 否 |
正式版 | 128 | 否 |
首选项名称 | network.cookie.CHIPS.enabled |
包含 MIME 类型 image/jxl 的 Accept 标头
默认情况下 SameSite=Lax
SameSite
Cookie 的默认值为 Lax
。使用此设置,Cookie 仅在用户导航到源站点时发送,而不会为跨站点子请求发送,以将图像或框架加载到第三方站点等。有关更多详细信息,请参阅 Firefox 错误 1617609。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 69 | 否 |
开发者版 | 69 | 否 |
Beta | 69 | 否 |
正式版 | 69 | 否 |
首选项名称 | network.cookie.sameSite.laxByDefault
|
通配符 Access-Control-Allow-Headers 未覆盖 Authorization
Access-Control-Allow-Headers
是对 CORS 预检请求 的响应头,它指示最终请求中可以包含哪些请求头。响应指令可以包含通配符 (*
),表示最终请求可以包含所有标头,除了 Authorization
标头。
默认情况下,Firefox 在收到包含 Access-Control-Allow-Headers: *
的响应后,会在最终请求中包含 Authorization
标头。将首选项设置为 false
以确保 Firefox 不包含 Authorization
标头。更多详情请参阅 Firefox bug 1687364。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 115 | 是 |
开发者版 | 115 | 是 |
Beta | 115 | 是 |
正式版 | 115 | 是 |
首选项名称 | network.cors_preflight.authorization_covered_by_wildcard |
开发者工具
Mozilla 的开发者工具在不断发展。我们尝试新的想法,添加新功能,并在 Nightly 和 Developer Edition 渠道上对其进行测试,然后再将其发布到 Beta 版和正式版。以下功能是当前实验性开发者工具功能的集合。
执行上下文选择器
此功能在控制台的命令行上显示一个按钮,允许您更改输入表达式的执行上下文。(更多详情请参阅 Firefox bug 1605154 和 Firefox bug 1605153。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 75 | 否 |
开发者版 | 75 | 否 |
Beta | 75 | 否 |
正式版 | 75 | 否 |
首选项名称 | devtools.webconsole.input.context |
响应式设计模式中的移动手势支持
鼠标手势用于模拟移动手势,如滑动/滚动、双击和捏合缩放以及长按以选择/打开上下文菜单。(更多详情请参阅 Firefox bug 1621781、Firefox bug 1245183 和 Firefox bug 1401304。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 76[1] | 是 |
开发者版 | 76[1] | 是 |
Beta | 76[1] | 是 |
正式版 | 76[1] | 否 |
首选项名称 | n/a |
[1] Firefox 76 中添加了对使用双击手势进行缩放的支持。其他手势是在 Firefox 79 中添加的。
网络监视器中的服务器发送事件
网络监视器显示 服务器发送 事件的信息。(更多详情请参阅 Firefox bug 1405706。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 80 | 是 |
开发者版 | 80 | 是 |
Beta | 80 | 否 |
正式版 | 80 | 否 |
首选项名称 | devtools.netmonitor.features.serverSentEvents |
CSS 浏览器兼容性工具提示
CSS 规则视图可以在任何具有已知问题的 CSS 属性旁边显示浏览器兼容性工具提示。有关更多信息,请参阅:检查和编辑 HTML > 浏览器兼容性警告。
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 81 | 否 |
开发者版 | 81 | 否 |
Beta | 81 | 否 |
正式版 | 81 | 否 |
首选项名称 | devtools.inspector.ruleview.inline-compatibility-warning.enabled |
UI
桌面缩放
此功能允许您在台式计算机上启用流畅的捏合缩放,而无需布局重排,就像移动设备一样。(更多详情请参阅 Firefox bug 1245183 和 Firefox bug 1620055。)
发布渠道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 42 | 是 |
开发者版 | 42 | 否 |
Beta | 42 | 否 |
正式版 | 42 | 否 |
首选项名称 |
apz.allow_zooming 和(在 Windows 上)apz.windows.use_direct_manipulation |