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 属性,而不是使用 setAttributegetAttribute(详情请参见 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.enabledlayout.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-namescroll-timeline-axis 属性(以及 scroll-timeline 速记属性),你可以指定特定命名容器中的特定滚动条作为滚动驱动动画的源。然后,通过将 animation-timeline 属性设置为使用 scroll-timeline-name 定义的名称值,可以将滚动时间轴与动画关联。

使用 scroll-timeline 速记属性时,属性值的顺序必须是 scroll-timeline-name 后跟 scroll-timeline-axis。完整属性和速记属性均可在首选项后面使用。

也可以使用 scroll() 函数标记和 animation-timeline 来表示时间轴将使用祖先元素中的滚动条轴。

有关详细信息,请参阅 Firefox bug 1807685Firefox bug 1804573Firefox bug 1809005Firefox bug 1676791Firefox bug 1754897Firefox 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 1814588Firefox 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 1786161xywh() 函数的 Firefox bug 1786160

更新通道 添加的版本 默认启用?
Nightly 117
开发者版 117
Beta 117
发行版 117
首选项名称 layout.css.motion-path-basic-shapes.enabledlayout.css.basic-shape-rect.enabledlayout.css.basic-shape-xywh.enabled

SVG

SVGPathSeg API 接口

SVGPathSeg API 接口将不再包含,并被置于首选项之后。其中包括 SVGPathSegListSVGPathElement.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-stringFirefox 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加密媒体扩展 APIMedia 捕获和流 API

异步 SourceBuffer 添加和移除

这将为 SourceBuffer 添加基于 promise 的 appendBufferAsync()removeAsync() 方法,用于添加和删除媒体源缓冲区。更多信息请参见 Firefox bug 1280613Firefox 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 现在已经得到实现:

CSS 更新包括:

以下 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.audioTracksHTMLMediaElement.videoTracks 属性。不过,由于 Firefox 目前不支持多音频和视频音轨,这些属性的最常见用例不起作用,因此默认情况下它们都被禁用。详情请参见 Firefox bug 1057233

更新通道 添加的版本 默认启用?
Nightly 33
开发者版 33
Beta 33
发行版 33
首选项名称 media.track.enabled

ClipboardItem

现在支持 Clipboard APIClipboardItem 接口,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 1556362Firefox bug 1556373Firefox bug 1556365Firefox 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 and
dom.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.enablednetwork.early-hints.preconnect.enabled

Access-Control-Allow-Headers 通配符不包含 Authorization 标头

Access-Control-Allow-HeadersCORS 预检请求的响应标头,表示哪些请求标头可以包含在最终请求中。响应指令可包含通配符(*),表示最终请求可包含除 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 1605154Firefox bug 1605153)。

更新通道 添加的版本 默认启用?
Nightly 75
开发者版 75
Beta 75
发行版 75
首选项名称 devtools.webconsole.input.context

响应式设计模式中支持移动端手势

鼠标手势用于模拟移动手势,例如轻扫/滚动、双击和缩放,以及长按选择/打开上下文菜单。(详见 Firefox bug 1621781Firefox bug 1245183Firefox 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 1245183Firefox bug 1620055)。

更新通道 添加的版本 默认启用?
Nightly 42
开发者版 42
Beta 42
发行版 42
首选项名称 apz.allow_zooming,Windows 中 apz.windows.use_direct_manipulation

参见