Experimental features in Firefox
Mozilla 发布了测试的 nightly 版本,用于测试新的浏览器特性。实验性特性,例如所提议的可用的 Web 平台标准的实现。这个页面列出了 Firefox Nightly 中的一些新特性和启用方法等信息。在发布这些功能之前,你可以测试 Web 站点和应用程序,并确保一切都能与最新的 Web 技术功能协同工作。
你需要下载隔夜版或是开发者版,来测试下面这些实验性特性。
HTML
功能 | Firefox Nightly | Firefox 开发者版 | Firefox 测试版 | Firefox 发行版 | Preference |
---|---|---|---|---|---|
日期和时间输入<input> 为 日期 和 时间 相关的输入类型提供的新用户界面 |
开启 (从 51 开始支持,从 55 开始默认开启) | 开启 (从 51 开始支持) | 关闭 (从 51 开始支持) | --- | dom.forms.datetime |
<dialog> 包含与之交互的 DOM 元素的对话框元素。Implementation of modal dialogs and accessibility still missing. |
关闭 (从 53 开始支持) | 关闭 (从 53 开始支持) | --- | --- | dom.dialog_element.enabled |
CSS
功能 | Firefox Nightly | Firefox Developer Edition | Firefox Beta | Firefox Release | Preference |
---|---|---|---|---|---|
Subgrids | Disabled | Disabled | Disabled | Disabled | layout.css.grid-template-subgrid-value.enabled |
Display stray control characters in CSS as hex boxes This feature renders control characters (Unicode category Cc) other than tab ( U+0009 ),
line feed (U+000A ),
form feed (U+000C ), and
carriage return (U+000D ) as a hexbox when they are
not expected.
|
43 | 43 | Disabled | Disabled |
layout.css.control-characters.enabled or
layout.css.control-characters.visible
|
Positioned CSS Masks A subset of CSS Masks that includes longhand properties of CSS Masks (en-US), as well as a change in the shorthand property |
51 | 51 | 53 | Disabled | Controlled by a compile flag (MOZ_ENABLE_MASK_AS_SHORTHAND). |
The font-display descriptor for
@font-face To improve Web fonts performance, @font-face has an experimental
font-display
descriptor.
|
关闭 (available since 46) |
关闭 (available since 46) |
关闭 (available since 46) |
关闭 (available since 46) |
layout.css.font-display.enabled |
|
关闭 (available since 53) |
关闭 (available since 53) |
关闭 (available since 53) |
关闭 (available since 53) |
|
touch-action CSS 属性The touch-action CSS property is part of the
Pointer Events specification and allows you to
specify how and in what way the user is able to manipulate an object by
touch.
|
50 | — | — | — | layout.css.touch_action.enabled |
The
Firefox currently implements the |
关闭 (available since 53) |
— | — | — | layout.css.shape-outside.enabled |
The contain CSS propertyThe contain CSS property is part of the
CSS Containment Module Level 1 specification and allows you to
indicate that an element and its contents are independent of the rest of
the document tree, allowing
user agents to optimize the
rendering of a page.
|
关闭 (available since 45) |
关闭 (available since 45) |
关闭 (available since 45) |
关闭 (available since 45) |
layout.css.contain.enabled |
The Firefox currently only parses the property (Firefox bug 1339298), it's not actually implemented yet (Firefox bug 616436). |
关闭 (recognized since 55, but not implemented yet) |
— | — | — | layout.css.column-span.enabled |
The frames() timing functionSee The frames() class of timing-functions (en-US) for more details. |
开启 | N/A | 关闭 (available since 55) |
关闭 (available since 55) |
None |
JavaScript
See also ECMAScript Next support for implemented features of ECMAScript 2016 and later, that are not experimental and thus available without preferences in Firefox Release.
Feature | Firefox Nightly | Firefox Developer Edition | Firefox Beta | Firefox Release | Preference |
---|---|---|---|---|---|
Additions to the ArrayBuffer object Adds the ArrayBuffer.transfer() that returns a new ArrayBuffer whose contents have been taken from the oldBuffer 's data (spec). |
36 | Disabled | Disabled | Disabled | None |
TypedObject objects (spec) | Enabled | Disabled | Disabled | Disabled | None |
SIMD (specification and polyfill) | Enabled | Disabled | Disabled | Disabled | None |
ECMAScript modules Allows you to use native ECMAScript modules, for example defining modules with <script type="module"> , defining fallback scripts with <script nomodule> , and importing code features that have been exported from modules. |
Disabled | Disabled | Disabled | Disabled | dom.moduleScripts.enabled |
APIs
Canvas & WebGL
Feature | Firefox Nightly | Firefox Developer Edition | Firefox Beta | Firefox Release | Preference |
---|---|---|---|---|---|
WEBGL_debug_renderer_info extension The WEBGL_debug_renderer_info (en-US) extension allows you to transmit information useful to help debugging problems to the server. |
42 | 42 | Disabled | Disabled | webgl.enable-debug-renderer-info |
OffscreenCanvas The OffscreenCanvas interface provides a canvas that can be rendered off screen. It is available in both the window and worker contexts. |
Disabled (available since 44) | Disabled (available since 44) | Disabled (available since 44) | Disabled (available since 44) | gfx.offscreencanvas.enabled |
Hit regions Whether the mouse coordinates are within a particular area on the canvas is a common problem to solve. The hit region API allows you define an area of your canvas and provides another possibility to expose interactive content on a canvas to accessibility tools. | Disabled (available since 30) | Disabled (available since 30) | Disabled (available since 30) | Disabled (available since 30) | canvas.hitregions.enabled |
DOM
Feature | Firefox Nightly | Firefox Developer Edition | Firefox Beta | Firefox Release | Preference |
---|---|---|---|---|---|
Mac 上的 WebVR API 1.1 WebVR API 允许你控制并和使用虚拟现实设备。 |
Enabled | Disabled | Disabled | Disabled | dom.vr.enabled |
游戏手柄扩展 The Gamepad Extensions provide access to additional functionality such as pose information in the case of WebVR controllers, and haptic actuator control (e.g. controller vibration hardware). |
Enabled | Enabled | Enabled | Disabled | dom.gamepad-extensions.enabled |
Experimental fetch controller/signal/observer interfaces Also known as "cancellable fetch", these interfaces contain functionality to allow fetch request operations to be observed and controlled during their lifetimes. |
Disabled (Available since 55) |
Disabled | Disabled | Disabled |
dom.fetchObserver.enabled and
dom.fetchController.enabled (not in
about:config by default; you must set them yourself).
|
FlyWeb FlyWeb is a project at Mozilla focused on bringing a new set of APIs to the browser for advertising and discovering local-area web servers. |
51 | Disabled | Disabled | Disabled | dom.flyweb.enabled |
HTMLMediaElement.seekToNextFrame() Part of an experimentation process around support non-real-time access to media for tasks including filtering, editing, and so forth, the HTMLMediaElement.seekToNextFrame() (en-US)
advances the the current play position to the next frame in the media.
|
49 (Fundamental update in version 50) |
49 (Fundamental update in version 50) |
Disabled | Disabled | media.seekToNextFrame.enabled |
GeometryUtils.getBoxQuads()
(Firefox bug 917755)
|
31 | 31 | Disabled | Disabled | layout.css.getBoxQuads.enabled |
GeometryUtils.convertPointFromNode() ,GeometryUtils.RectFromNode() , andGeometryUtils.convertQuadFromNode() (Firefox bug 918189) |
31 | 31 | Disabled | Disabled | layout.css.convertFromNode.enabled |
Node.rootNode The Node.rootNode (en-US) property returns a
Node object representing the topmost node in the
tree, or the current node if it's the topmost node in the tree.This feature is kept experimental as its naming poses Web compatibility problems. It will be renamed in the future. |
48 | 48 | Disabled | Disabled | dom.node.rootNode.enabled |
Performance Observer API The PerformanceObserver interface is used to
observe performance measurement events and be notified of new
performance entries
as they are recorded in the browser's performance timeline.
|
49 | Disabled | Disabled | Disabled | dom.enable_performance_observer |
WebVTT Regions API WebVTT (en-US) regions are parts of the video viewport that provide a rendering area for WebVTT cues. The VTTRegion (en-US) is the interface
exposing the WebVTT cues.This interface is considered to be in flux and isn't therefore activated in any version by default. |
Disabled (Experimental implementation since version 30) |
Disabled | Disabled | Disabled | media.webvtt.regions.enabled |
音频和视频轨道支持 Implements HTMLMediaElement.audioTracks and
HTMLMediaElement.videoTracks .Firefox doesn't support multiple audio or video tracks, preventing the most common use cases for these properties to work properly. That's why these properties are not activated by default in any version. |
Disabled (Experimental implementation since version 33) |
Disabled | Disabled | Disabled | media.track.enabled |
Better value for Event.timestamp The property Event.timestamp is
returning a DOMHighResTimeStamp , which is now
relative to the Unix epoch.
|
32 (Windows) 43 (Linux) |
32 (Windows) 43 (Linux) |
Disabled | Disabled | media.track.enabled |
指针事件 | 50 | Disabled | Disabled | Disabled | dom.w3c_pointer_events.enabled |
Pointer Events
PointerEvent.tangentialPressure (en-US) and
PointerEvent.twist (en-US) |
54 | Disabled | Disabled | Disabled | dom.w3c_pointer_events.enabled |
Intersection Observer API The Intersection Observer API allows you to
configure a callback that is called whenever one item, called a target,
intersects either the device viewport or a specified element called.
|
Disabled (available since 53) |
— | — | — | dom.IntersectionObserver.enabled |
Web Animations API: KeyframeEffect and KeyframeEffectReadOnly The KeyframeEffectReadOnly.KeyframeEffectReadOnly()
and
KeyframeEffect.KeyframeEffect() (en-US)
constructors can be used to clone existing
KeyframeEffectReadOnly (en-US) object instances by
being given the object to clone as their only parameter (see
Firefox bug 1273784.)
|
52 | 52 | Disabled | Disabled | None |
PromiseRejectionEvent and related
featuresProviding a way to monitor and more finely control the rejection of Promises. |
Disabled (available since 55) |
Disabled | Disabled | Disabled | dom.promise_rejection_events.enabled |
Payment Request API 为网络支付提供的一个 API。 |
Disabled (available since 55) |
Disabled (available since 55) |
Disabled (available since 55) |
Disabled (available since 55) |
dom.payments.request.enabled |
WebRTC
Feature | Firefox Nightly | Firefox Developer Edition | Firefox Beta | Firefox Release | Preference |
---|---|---|---|---|---|
TCP ICE candidates ICE candidates that use TCP rather than UDP are considered during ICE negotiation. |
Disabled Enabled |
Disabled 41 |
Disabled 41 |
Disabled 41 |
media.peerconnection.ice.tcp |
开发者工具
Feature | Firefox Nightly | Firefox Developer Edition | Firefox Beta | Firefox Release | Preference |
---|---|---|---|---|---|
Debugger rewrite in HTML | 52 | 52 | Disabled | Disabled | devtools.debugger.new-debugger-frontend |
Console rewrite in HTML | 52 | Disabled | Disabled | Disabled | devtools.webconsole.new-frontend-enabled |
Experimental Performance tool options Enables options in the UI for JIT optimizations, memory, etc. |
41 | Disabled | Disabled | Disabled | devtools.performance.ui.experimental |
Layout side panel The Layout side panel allows to inspect and manage different CSS layout types like CSS Grid Layout. |
Disabled (available since 52) |
Disabled (available since 52) |
Disabled (available since 52) |
Disabled (available since 52) |
devtools.layoutview.enabled |
其他
Feature | Firefox Nightly | Firefox Developer Edition | Firefox Beta | Firefox Release | Preference |
---|---|---|---|---|---|
添加到主屏幕 The icons , name , short_name , and theme_color fields of the Web App Manifest (if present) can now be as the source of the homescreen/apps window icons, apps window title, homescreen icon title, and apps window color (respectively) for "Add to home screen" (Firefox Mobile only). |
关闭 (available since 53) | 关闭 (available since 53) | 关闭 (available since 53) | 关闭 (available since 52) | manifest.install.enabled |
TLS 1.3 | 开启 | 开启 | 关闭 | 关闭 | security.tls.version.max to 4 |