Firefox 中的实验性特性
本页列出了 Firefox 的实验性和部分实现的特性,包括针对提议的或前沿的网络平台标准的特性,以及这些特性的版本信息、是否“默认”激活这些特性,以及可用于激活或停用这些特性的偏好设置。这样,就可以在特性发布前对其进行测试。
新特性首先出现在 Firefox Nightly 版本中,通常默认启用。它们随后会引入到 Firefox 浏览器开发者版,并最终引入到发布版本中。在发布版中默认启用某项特性后,该特性就不再被视为实验性特性,应从主题中删除。
可以使用 Firefox 配置编辑器(在 Firefox 地址栏中输入 about:config
)通过修改下面列出的相关首选项来启用或禁用实验特性。
备注:对编者的信息——当在这些表格添加特性时,请尝试使用 [Firefox bug <number>](https://bugzil.la/<number>)
包含指向相关 bug 的链接。
HTML
input type="search" 外观
输入类型 type="search"
的布局已更新。一旦有人开始输入,搜索字段就会有一个清晰的图标,以便与其他浏览器的实现相匹配。(详情请参见 Firefox bug 558594)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 81 | 否 |
开发者版 | 81 | 否 |
Beta | 81 | 否 |
发行版 | 81 | 否 |
首选项名称 | layout.forms.input-type-search.enabled |
切换密码显示
HTML 密码输入元素(<input type="password">
)包含一个“眼睛”图标,可通过切换来显示或遮盖密码文本(Firefox bug 502258)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 96 | 否 |
开发者版 | 96 | 否 |
Beta | 96 | 否 |
发行版 | 96 | 否 |
首选项名称 | layout.forms.input-type-show-password-button.enabled |
ARIA 属性反射
为非 IDREF 属性启用了 ARIA 反射特性,允许作者通过 JavaScript API 直接获取和设置 DOM 元素上的 ARIA 属性,而不是使用 setAttribute
和 getAttribute
(详情请参见 Firefox bug 1824980)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 114 | 是 |
开发者版 | 114 | 否 |
Beta | 114 | 否 |
发行版 | 114 | 否 |
首选项名称 | accessibility.ARIAReflection.enabled |
CSS
显示杂散控制字符的十六进制框
该特性会将除制表符(U+0009
)、换行符(U+000A
)、换页符(U+000C
)和回车符(U+000D
)以外的控制字符(Unicode 类别 Cc)渲染为十六进制框,而这些控制字符并非预期字符。(详见 Firefox bug 1099557)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 43 | 是 |
开发者版 | 43 | 否 |
Beta | 43 | 否 |
发行版 | 43 | 否 |
首选项名称 | layout.css.control-characters.enabled 或 layout.css.control-characters.visible |
initial-letter 属性
initial-letter
CSS 属性是 CSS Inline Layout 规范的一部分,允许指定如何显示下垂、凸起和下沉的首字母。(详情请参见 Firefox bug 1223880)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 50 | 否 |
开发者版 | 50 | 否 |
Beta | 50 | 否 |
发行版 | 50 | 否 |
首选项名称 | layout.css.initial-letter.enabled |
content-visibility: auto 值
如果内容不与用户相关,content-visibility
CSS 属性值 auto
允许跳过渲染。(详见 Firefox bug 1798485)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 113 | 是 |
开发者版 | 109 | 否 |
Beta | 109 | 否 |
发行版 | 109 | 否 |
首选项名称 | layout.css.content-visibility.enabled |
请注意,相关的 contentvisibilityautostatechange
事件和相关的 ContentVisibilityAutoStateChangeEvent
接口是在版本 110 中添加的,并由相同的首选项控制。应用程序代码可使用这些特性监控可见性变化,并在用户代理跳过元素内容时停止与渲染元素相关的进程。(详见 Firefox bug 1791759。)
在媒体查询中将单个数字作为纵横比
在为媒体查询指定宽高比时,支持将单个 <number>
用作 <ratio>
。(详见 Firefox bug 1565562)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 70 | 否 |
开发者版 | 70 | 否 |
Beta | 70 | 否 |
发行版 | 70 | 否 |
首选项名称 | layout.css.aspect-ratio-number.enabled |
backdrop-filter 属性
backdrop-filter
属性会对元素后面的区域应用过滤效果。(详情请参见 Firefox bug 1178765)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 70 | 否 |
开发者版 | 70 | 否 |
Beta | 70 | 否 |
发行版 | 70 | 否 |
首选项名称 | layout.css.backdrop-filter.enabled |
CSS 函数 ray()
CSS ray()
函数是定义 offset-path
的一种方法。该函数将路径定义为从 offset-position
开始并向指定角度方向延伸的线段(Firefox bug 1582554)。
在版本 112 中,该函数添加了 <ray_size>
可选参数。如果没有提供 <ray_size>
参数,该函数将默认使用 closest-side
值(Firefox bug 1820071)。
在版本 116 中,该函数增加了 at <position>
可选参数。如果省略,则使用元素的 offset-position
值。如果同时没有 at <position>
和 offset-position
值,则使用 offset-position: auto
作为射线的起始位置,将元素置于元素框的左上角。(Firefox bug 1820070)
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 72 | 是 |
开发者版 | 72 | 否 |
Beta | 72 | 否 |
发行版 | 72 | 否 |
首选项名称 | layout.css.motion-path-ray.enabled |
Masonry grid 布局
新增对基于网格布局的 masonry 风格布局的支持,其中一个轴为 masonry 布局,另一个轴为普通网格布局。这样,开发人员就能像在 Pinterest 上一样轻松创建画廊风格的布局。更多详情,请参阅 Firefox bug 1607954。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 77 | 是 |
开发者版 | 77 | 否 |
Beta | 77 | 否 |
发行版 | 77 | 否 |
首选项名称 | layout.css.grid-template-masonry-value.enabled |
fit-content() 函数
fit-content()
函数适用于 width
和其他大小属性。CSS 网格布局轨迹大小已经支持该函数。(详情请参见 Firefox bug 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 bug 1807685、Firefox bug 1804573、Firefox bug 1809005、Firefox bug 1676791、Firefox bug 1754897 和 Firefox bug 1737918。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 110 | 否 |
开发者版 | 110 | 否 |
Beta | 110 | 否 |
发行版 | 110 | 否 |
首选项名称 | layout.css.scroll-driven-animations.enabled |
:has() 伪类
:has()
伪类会选择包含作为参数传递的选择器的元素。(详见 Firefox bug 1771896)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 103 | 否 |
开发者版 | 103 | 否 |
Beta | 103 | 否 |
发行版 | 103 | 否 |
首选项名称 | layout.css.has-selector.enabled |
@font-face src 特性检查
@font-face
src
描述符现在支持 tech()
函数,允许根据用户代理是否支持特定字体特性或技术来决定是否下载字体资源。详情请参见 Firefox bug 1715546。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 105 | 是 |
开发者版 | 105 | 否 |
Beta | 105 | 否 |
发行版 | 105 | 否 |
首选项名称 | layout.css.font-tech.enabled |
round() 数学函数
CSS round()
函数是一个数学函数,可根据选定的舍入策略对数字(或表达式的结果)进行舍入。详情请参见 Firefox bug 1764850。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 108 | 是 |
开发者版 | 108 | 否 |
Beta | 108 | 否 |
发行版 | 108 | 否 |
首选项名称 | layout.css.round.enabled |
font-variant-emoji
通过 CSS font-variant-emoji
属性,你可以设置显示表情符号的默认显示样式。详情请参见(Firefox bug 1461589)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 108 | 是 |
开发者版 | 108 | 否 |
Beta | 108 | 否 |
发行版 | 108 | 否 |
首选项名称 | layout.css.font-variant-emoji.enabled |
page-orientation
page-orientation
CSS @page
at-rule 的描述符控制打印页面的旋转。当页面方向发生变化时,它将处理跨页面的内容流。该行为与 size
描述符不同,用户可以定义页面的旋转方向。详情请参见(Firefox bug 1673987)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 111 | 是 |
开发者版 | 111 | 否 |
Beta | 111 | 否 |
发行版 | 111 | 否 |
首选项名称 | layout.css.page-orientation.enabled |
prefers-reduced-transparency 媒体特性
CSS `prefers-reduced-transparency`` 媒体特性可让你检测用户是否已启用设置,以尽量减少设备上的透明或半透明图层效果。 更多详情请参见(Firefox bug 1736914)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 113 | 否 |
开发者版 | 113 | 否 |
Beta | 113 | 否 |
发行版 | 113 | 否 |
首选项名称 | layout.css.prefers-reduced-transparency.enabled |
inverted-colors 媒体特性
通过 CSS inverted-colors
媒体特性,可以检测用户代理或底层操作系统是否正在反转颜色。详情请参阅(Firefox bug 1794628)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 114 | 否 |
开发者版 | 114 | 否 |
Beta | 114 | 否 |
发行版 | 114 | 否 |
首选项名称 | layout.css.inverted-colors.enabled |
具名观看进度时间线属性
通过 CSS view-timeline-name
属性,你可以为特定元素赋予一个名称,表明其祖先滚动元素是视图进度时间轴的来源。然后,可以将该名称分配给 animation-timeline
,当相关元素在其祖先滚动器的可见区域内移动时,animation-timeline
就会为其制作动画。详情请参见(Firefox bug 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 |
offset-position 属性
CSS offset-position
属性定义了元素在路径上的初始位置。该属性的语法中新增了一个名为 normal
的关键字。使用该关键字时,元素在 offset-path
上的初始起始位置取决于用于指定 offset-path
属性值的 CSS 函数(path()
或 ray()
)。更多信息,请参阅 offset-position
。详情请参见(Firefox bug 1559232)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 116 | 是 |
开发者版 | 116 | 否 |
Beta | 116 | 否 |
发行版 | 116 | 否 |
首选项名称 | layout.css.motion-path-offset-position.enabled |
abs() 和 sign() 数学函数
CSS abs()
和 sign()
数学函数允许你分别获取参数的绝对值和符号。详情请参见 Firefox bug 1814588 和 Firefox bug 1814589。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 117 | 是 |
开发者版 | 117 | 否 |
Beta | 117 | 否 |
发行版 | 117 | 否 |
首选项名称 | layout.css.abs-sign.enabled |
rect() 和 xywh() 基本图形函数
通过 CSS rect()
和 xywh()
形状函数,你可以使用 <basic-shape>
数据类型定义矩形。在 CSS 属性(如 offset-path
)中,这些函数用于定义元素移动路径的形状。使用 rect()
函数,可以指定矩形边缘与包含块的顶部边缘和左侧边缘的偏移量。使用 xywh()
函数,可以指定矩形边缘与包含块的左边缘和顶边缘的偏移量,以及矩形的宽度和高度。在这两个函数中,都可以选择对边角进行舍入。有关详细信息,请参阅 rect()
函数的 Firefox bug 1786161 和 xywh()
函数的 Firefox bug 1786160。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 117 | 是 |
开发者版 | 117 | 否 |
Beta | 117 | 否 |
发行版 | 117 | 否 |
首选项名称 | layout.css.motion-path-basic-shapes.enabled 、layout.css.basic-shape-rect.enabled 、layout.css.basic-shape-xywh.enabled |
SVG
SVGPathSeg API 接口
SVGPathSeg API 接口将不再包含,并被置于首选项之后。其中包括 SVGPathSegList
、SVGPathElement.getPathSegAtLength()、SVGAnimatedPathData
。(详见 Firefox bug 1388931)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 97 | 否 |
开发者版 | 97 | 否 |
Beta | 97 | 否 |
发行版 | 97 | 否 |
首选项名称 | dom.svg.pathSeg.enabled |
JavaScript
数组(可迭代)分组方法
Object.groupBy()
和 Map.groupBy()
静态方法分别用于使用字符串或测试函数返回的值对可迭代元素进行分组。当字符串可用于表示元素组时,应使用第一个方法,而当元素与特定对象相关联时,可使用 Map
中的方法。(详见 Firefox bug 1841518)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 117 | 否 |
开发者版 | NA | 否 |
Beta | NA | 否 |
发行版 | NA | 否 |
首选项名称 | javascript.options.experimental.array_grouping |
数组转移
ArrayBuffer.prototype.transfer()
和 ArrayBuffer.prototype.transferToFixedLength()
方法用于从一个ArrayBuffer
向另一个 ArrayBuffer
转移内存所有权。transferToFixedLength()
方法总是创建固定长度的缓冲区,而 transfer()
方法可以创建可变长度的缓冲区,但前提是原始缓冲区的长度是可变的。传输后,原始缓冲区将从原始内存中分离,因此无法使用;可以使用 ArrayBuffer.prototype.detached
检查其状态。(详情请参见 Firefox bug 1841113)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 117 | 否 |
开发者版 | NA | 否 |
Beta | NA | 否 |
发行版 | NA | 否 |
首选项名称 | javascript.options.experimental.arraybuffer_transfer |
字符串 isWellFormed() 和 toWellFormed() 方法
JavaScript 中的字符串由无符号 16 位整数序列表示,因此有可能出现有效字符串值不是格式良好的 Unicode 文本的情况。String.prototype.isWellFormed()
和 String.prototype.toWellFormed()
方法分别用于检查字符串是否为格式正确的 Unicode 文本,以及将字符串转换为格式正确的 Unicode 文本。详见 tc39/proposal-is-usv-string 和 Firefox bug 1825005。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 115 | 否 |
开发者版 | - | - |
Beta | - | - |
发行版 | - | - |
首选项名称 | javascript.options.experimental.well_formed_unicode_strings |
API
图形:Canvas、WebGL 和 WebGPU
热点区域
鼠标坐标是否位于画布上的特定区域内是一个需要解决的常见问题。通过点击区域 API,可以定义画布的某个区域,并为将画布上的交互式内容展示给辅助工具提供了另一种可能性。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 30 | 否 |
开发者版 | 30 | 否 |
Beta | 30 | 否 |
发行版 | 30 | 否 |
首选项名称 | canvas.hitregions.enabled |
WebGL:草稿扩展
启用此偏好设置后,当前处于“草稿”状态且正在测试的任何 WebGL 扩展都将启用。目前,Firefox 没有正在测试的 WebGL 扩展。
WebGPU API
WebGPU API 为使用用户设备或计算机的图形处理单元(GPU)执行计算和图形渲染提供底层支持。请参见 Firefox bug 1602129,了解我们在此 API 方面的进展。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 113 | 是 |
开发者版 | 73 | 否 |
Beta | 73 | 否 |
发行版 | 73 | 否 |
首选项名称 | dom.webgpu.enabled |
WebRTC 和媒体
以下试验性特性包括 WebRTC API、网络音频 API、媒体源扩展 API、加密媒体扩展 API 和 Media 捕获和流 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
: 接受建议(“应该”)和要求(“必须”)中违反规范的图像,前提是它们可以被安全或明确地解释。1
(默认):拒绝违反要求,但允许违反建议。2
: 严格。拒绝任何违反要求或建议的行为。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 92 | 1 |
开发者版 | 92 | 1 |
Beta | 92 | 1 |
发行版 | 92 | 1 |
首选项名称 | image.avif.compliance_strictness |
JPEG XL 支持
如果启用此特性,Firefox 支持 JPEG XL 图像。详情请参见 Firefox bug 1539075。
请注意,如下表所示,该特性只适用于 Nightly 构建版本(无论是否设置了偏好设置)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 90 | 否 |
开发者版 | — | — |
Beta | — | — |
发行版 | — | — |
首选项名称 | image.jxl.enabled |
OpenFont COLRv1 字体
该特性支持 OpenFont COLRv1 字体规范。这样就可以使用 CSS @font-face
规则或 CSS 字体加载 API 来加载带有渐变、合成和混合特性的压缩友好型彩色矢量字体。详情请参见 Firefox bug 1740530。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 105 | 否 |
开发者版 | 105 | 否 |
Beta | 105 | 否 |
发行版 | 105 | 否 |
首选项名称 | gfx.font_rendering.colr_v1.enabled |
CSS 属性和值 API
CSS 属性和值 API 允许开发人员通过 JavaScript 中的 registerProperty()
或 CSS 中的 @property
规则注册自定义 CSS 属性。使用这两种方法注册属性时,可以进行类型检查、设置默认值,以及设置是否从父元素继承值。详情请参见 Firefox bug 1840480。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 116 | 是 |
开发者版 | 116 | 否 |
Beta | 116 | 否 |
发行版 | 116 | 否 |
首选项名称 | layout.css.property-and-value-api.enabled |
CSS 自定义高亮 API
CSS 自定义高亮 API 为文档中任意文本范围的样式化提供了一种机制(概括了其他高亮伪元素的行为,如 ::selection
、::spelling-error
、::grammar-error
和 ::target-text
)。这些范围在 JavaScript 中使用 Range
实例进行定义,这些实例在 Highlight
中分组,然后使用 HighlightRegistry
注册名称。CSS ::highlight
伪元素用于为已注册的高亮应用样式。详情请参见 Firefox bug 1703961。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 117 | 是 |
开发者版 | 117 | 否 |
Beta | 117 | 否 |
发行版 | 117 | 否 |
首选项名称 | dom.customHighlightAPI.enabled |
Service Worker
在导航时预加载 service worker 资源
NavigationPreloadManager
接口可用于在导航至页面时启用资源预加载。预加载与 Worker 启动同时进行,从而缩短了从开始导航到获取资源的总时间。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 99 | 是 |
开发者版 | 97 | 否 |
Beta | 97 | 否 |
发行版 | 97 | 否 |
首选项名称 | dom.serviceWorkers.navigationPreload.enabled |
WebVR API
WebVR API(已禁用)
已废弃的 WebVR API 即将被移除。在所有版本中默认禁用该 API。(Firefox bug 1750902)
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 98 | 否 |
开发者版 | 98 | 否 |
Beta | 98 | 否 |
发行版 | 98 | 否 |
首选项名称 | dom.vr.enabled |
HTML DOM API
Popover API
Firefox 现在支持 Popover API。
以下 Web API 现在已经得到实现:
HTMLButtonElement.popoverTargetElement
和HTMLButtonElement.popoverTargetAction
。HTMLInputElement.popoverTargetElement
和HTMLInputElement.popoverTargetAction
。HTMLElement.popover
、HTMLElement.hidePopover()
、HTMLElement. showPopover()
和HTMLElement.togglePopover()
。HTMLElement
beforetoggle
事件、HTMLElement
toggle_event
事件 和ToggleEvent
。
CSS 更新包括:
:popover-open
::backdrop
已经得到扩展以支持 popover。
以下 HTML 全局属性得到了支持:
参见 Firefox bug 1823757 以获取更多细节。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 114 | 否 |
开发者版 | 114 | 否 |
Beta | 114 | 否 |
发行版 | 114 | 否 |
首选项名称 | dom.element.popover.enabled |
HTMLMediaElement 方法:setSinkId()
HTMLMediaElement.setSinkId()
允许你在 HTMLMediaElement
上设置音频输出设备的 sink ID,从而更改音频的输出位置。详情请参见 Firefox bug 934425。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 64 | 否 |
开发者版 | 64 | 否 |
Beta | 64 | 否 |
发行版 | 64 | 否 |
首选项名称 | media.setsinkid.enabled |
HTMLMediaElement 属性:audioTracks 和 videoTracks
启用此特性可为所有 HTML 媒体元素添加 HTMLMediaElement.audioTracks
和 HTMLMediaElement.videoTracks
属性。不过,由于 Firefox 目前不支持多音频和视频音轨,这些属性的最常见用例不起作用,因此默认情况下它们都被禁用。详情请参见 Firefox bug 1057233。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 33 | 否 |
开发者版 | 33 | 否 |
Beta | 33 | 否 |
发行版 | 33 | 否 |
首选项名称 | media.track.enabled |
ClipboardItem
现在支持 Clipboard API
的 ClipboardItem
接口,Clipboard.write()
接受剪贴板项
序列,而不是之前实现的dataTransfer 对象
。它可在首选项前缀 dom.events.asyncClipboard.clipboardItem
(即之前的 dom.events.asyncClipboard.dataTransfer
)使用。详情请参见 Firefox bug 1619947。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 87 | 否 |
开发者版 | 87 | 否 |
Beta | 87 | 否 |
发行版 | 87 | 否 |
首选项名称 | dom.events.asyncClipboard.clipboardItem |
ClipboardRead
Clipboard
接口的 Clipboard.read() 方法现在也可在 dom.events.asyncClipboard.read
首选项设置下使用,而以前则在 dom.events.asyncClipboard.clipboardItem
首选项设置下使用。(详情请参见 Firefox bug 1701512)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 90 | 否 |
开发者版 | 90 | 否 |
Beta | 90 | 否 |
发行版 | 90 | 否 |
首选项名称 | dom.events.asyncClipboard.read |
GeometryUtils 方法:convertPointFromNode()、convertRectFromNode() 和 convertQuadFromNode()
GeometryUtils
方法 convertPointFromNode()
、convertRectFromNode()
和 convertQuadFromNode()
将给定的点、矩形或四边形从调用它们的 Node
映射到另一个节点。(详见 Firefox bug 918189)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 31 | 是 |
开发者版 | 31 | 否 |
Beta | 31 | 否 |
发行版 | 31 | 否 |
首选项名称 | layout.css.convertFromNode.enable |
GeometryUtils 方法:getBoxQuads()
GeometryUtils
方法 getBoxQuads()
返回 Node
相对于任何其他节点或视口的 CSS 框。(详见 Firefox bug 917755)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 31 | 是 |
开发者版 | 31 | 否 |
Beta | 31 | 否 |
发行版 | 31 | 否 |
首选项名称 | layout.css.getBoxQuads.enabled |
ElementInternals:表单相关自定义元素方法和属性
新增 ElementInternals
属性和方法,允许自定义元素与表单交互:
form
属性可获取与元素相关联的表单。labels
属性获取与元素关联的标签列表。willValidate
属性检查自定义表单元素是否会被验证。- 如果需要,
setFormValue()
方法会设置净化值和用户输入的数据。
详见 Firefox bug 1556362、Firefox bug 1556373、Firefox bug 1556365、Firefox bug 1556449。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 95 | 是 |
开发者版 | 95 | 否 |
Beta | 95 | 否 |
发行版 | 95 | 否 |
首选项名称 | dom.webcomponents.formAssociatedCustomElement.enabled |
付款请求 API
首要付款处理
支付请求应用程序接口支持在网页内容或应用程序中处理基于网络的支付。由于在用户界面测试过程中出现了一个错误,我们决定推迟发布该 API,同时讨论对 API 可能进行的修改。相关工作正在进行中。(详见 Firefox bug 1318984)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 55 | 否 |
开发者版 | 55 | 否 |
Beta | 55 | 否 |
发行版 | 55 | 否 |
首选项名称 | dom.payments.request.enabled anddom.payments.request.supportedRegions |
WebShare API
Web 分享 API 允许从网站共享文件、URL 和其他数据。该特性在安卓系统的所有版本中均已启用,但在桌面系统中则需要指定首选项设置(除非另有说明)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 71 | 否 (default). 是 (Windows from version 92) |
开发者版 | 71 | 否 |
Beta | 71 | 否 |
发行版 | 71 | 否 (Desktop). 是 (Android). |
首选项名称 | dom.webshare.enabled |
屏幕方向 API
ScreenOrientation.lock()
ScreenOrientation.lock()
方法允许在设备支持和浏览器预锁定要求允许的情况下,将设备锁定为特定方向。通常只有在移动设备上全屏显示文档时才允许锁定方向。详见 Firefox bug 1697647。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 111 | 是 |
开发者版 | 97 | 否 |
Beta | 97 | 否 |
发行版 | 97 | 否 |
首选项名称 | dom.screenorientation.allow-lock |
优先级任务调度 API
优先级任务调度 API 提供了一种标准化的方法,可对属于应用程序的所有任务进行优先排序,无论这些任务是在网站开发人员的代码中定义的,还是在第三方库和框架中定义的。
Firefox Nightly(仅)从 Firefox 101 开始启用此特性。其他版本没有提供启用该特性的首选项。
通知 API
在 Windows 系统和 Nightly 版本中,通知的 requireInteraction
属性默认设置为 true(Firefox bug 1794475)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 117 | 是 |
开发者版 | 117 | 否 |
Beta | 117 | 否 |
发行版 | 117 | Windows only |
首选项名称 | dom.webnotifications.requireinteraction.enabled |
安全与隐私
在加密页面上阻止纯文本请求
为了帮助减轻由加密页面上的 Flash 内容引起的中间人攻击(MitM),已添加了一个首选项,将 OBJECT_SUBREQUEST
视为活动内容。详见 Firefox bug 1190623。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 59 | 否 |
开发者版 | 59 | 否 |
Beta | 59 | 否 |
发行版 | 59 | 否 |
首选项名称 | security.mixed_content.block_object_subrequest |
“不安全页面”标签
当页面以不安全方式加载(即使用 HTTP 而不是 HTTPS 加载)时,这两个首选项会在地址栏中传统的锁图标旁添加“不安全”文本标签。详见 Firefox bug 1335970。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 60 | 否 |
开发者版 | 60 | 否 |
Beta | 60 | 否 |
发行版 | 60 | 否 |
首选项名称 | 普通浏览模式下:security.insecure_connection_text.enabled ,隐私浏览模式下:security.insecure_connection_text.pbmode.enabled |
升级混合显示内容
启用此首选项设置后,Firefox 会在安全页面上自动将媒体内容请求从 HTTP 升级到 HTTPS。这样做的目的是防止出现混合内容的情况,即某些内容以安全方式加载,而其他内容则不安全。如果升级失败(因为媒体主机不支持 HTTPS),则不会加载媒体。(详见 Firefox bug 1435733)。
这也会更改控制台警告;如果升级成功,消息会显示请求已升级,而不是显示警告。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 84 | 是 |
开发者版 | 60 | 否 |
Beta | 60 | 否 |
发行版 | 60 | 否 |
首选项名称 | security.mixed_content.upgrade_display_content |
权限策略 / 特性策略
权限策略 允许网络开发人员有选择地启用、禁用和修改浏览器中某些特性和 API 的行为。它与 CSP 类似,但控制的是特性而不是安全行为。请注意,在 Firefox 中实现的是特性策略,这是该规范早期版本中使用的名称。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 65 | 否 |
开发者版 | 65 | 否 |
Beta | 65 | 否 |
发行版 | 65 | 否 |
首选项名称 | dom.security.featurePolicy.header.enabled |
Clear-Site-Data“cache”指令
Clear-Site-Data
HTTP 响应标头 cache
指令会清除请求网站的浏览器缓存。
备注:这原本在默认情况下是启用的,但在版本 94(Firefox bug 1729291)中被置于首选项之后。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 63 | 否 |
开发者版 | 63 | 否 |
Beta | 63 | 否 |
发行版 | 63 | 否 |
首选项名称 | privacy.clearsitedata.cache.enabled |
HTTP
默认 SameSite=Lax
SameSite
cookie 的默认值为 Lax
。在此设置下,只有当用户导航到原始站点时才会发送 cookie,而不会发送跨站点子请求以将图像或框架加载到第三方站点等。详见 Firefox bug 1617609。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 69 | 否 |
开发者版 | 69 | 否 |
Beta | 69 | 否 |
发行版 | 69 | 否 |
首选项名称 | network.cookie.sameSite.laxByDefault |
HTTP 状态码 103
服务器可能会发送 103 Early Hints
HTTP 信息响应状态代码,以允许用户代理在服务器仍在准备完整响应时开始预加载资源。详见 Firefox bug 1813035。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 111 | 是 |
开发者版 | 111 | 是 |
Beta | 111 | 是 |
发行版 | 102 | 否 |
首选项名称 | network.early-hints.enabled 和 network.early-hints.preconnect.enabled |
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 和开发者版本渠道上进行测试,然后再通过测试版发布。以下是目前开发者工具的实验特性。
执行上下文选择器
该特性可在控制台命令行上显示一个按钮,让你更改输入表达式的执行环境。(详见 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 |
用户界面
桌面缩放
该特性可让你在桌面端实现流畅的捏合缩放,而无需像移动设备那样重新刷新布局。(详见 Firefox bug 1245183 和 Firefox bug 1620055)。
更新通道 | 添加的版本 | 默认启用? |
---|---|---|
Nightly | 42 | 是 |
开发者版 | 42 | 否 |
Beta | 42 | 否 |
发行版 | 42 | 否 |
首选项名称 | apz.allow_zooming ,Windows 中 apz.windows.use_direct_manipulation |