Experimental features in Firefox 编辑

In order to test new features, Mozilla publishes a test version of the Firefox browser, Firefox Nightly, every day. These nightly builds of Firefox typically include experimental or partially-implemented features, including those for proposed or cutting-edge Web platform standards.

This page lists features that are in Nightly versions of Firefox along with information on how to activate them, if necessary. You can test your Web sites and applications before these features get released and ensure everything will still work with the latest Web technology capabilities.

To test these experimental features, you need to download Firefox Nightly or Firefox Developer Edition and set the appropriate preference in the Firefox Configuration Editor. The preference that you need to set is described alongside each feature's description below.

Editor's note: When adding features to these tables, please try to include a link to the relevant bug or bugs using the bug macro: {{bug(bug-number)}}.

HTML

Element: <dialog>

The HTML <dialog> element and its associated DOM APIs provide support for HTML-based modal dialog boxes. The current implementation is a little inelegant but is basically functional. See bug 840640 for more details.

Release channelVersion addedEnabled by default?
Nightly53Yes
Developer Edition53No
Beta53No
Release53No
Preference namedom.dialog_element.enabled

Global attribute: inputmode

Our implementation of the inputmode global attribute has been updated as per the WHATWG spec (bug 1509527), but we still need to make other changes too, like making it available on contenteditable content. See also bug 1205133 for details.

Release channelVersion addedEnabled by default?
Nightly75Yes
Developer Edition75No
Beta75No
Release75No
Preference namedom.forms.inputmode

The <link> element's rel attribute is intended to help provide performance gains by letting you download resources earlier in the page lifecycle, ensuring that they're available earlier and are less likely to block page rendering. Read Preloading content with rel="preload" for more details. For more details on the status of this feature, see bug 1639607.

Release channelVersion addedEnabled by default?
Nightly78Yes
Developer Edition78No
Beta78Yes
Release78No
Preference namenetwork.preload

inert attribute

The HTMLElement property HTMLElement.inert is a Boolean, when present, may make the browser "ignore" the element from assistive technologies, page search and text selection. For more details on the status of this feature see bug 1655722

Release channelVersion addedEnabled by default?
Nightly81No
Developer Edition81No
Beta81No
Release81No
Preference namehtml5.inert.enabled

Layout for input type="search"

Layout for input type="search" has been updated. This causes a search field to have a clear icon once someone starts typing in it, to match other browser implementations. (bug 558594)

Release channelVersion addedEnabled by default?
Nightly81No
Developer Edition81No
Beta81No
Release81No
Preference namelayout.forms.input-type-search.enabled

CSS

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.

See bug 1099557 for more details.

Release channelVersion addedEnabled by default?
Nightly43Yes
Developer Edition43No
Beta43No
Release43No
Preference namelayout.css.control-characters.enabled or layout.css.control-characters.visible

Property: initial-letter

The initial-letter CSS property is part of the CSS Inline Layout specification and allows you to specify how dropped, raised, and sunken initial letters are displayed.

See bug 1223880 for more details.

Release channelVersion addedEnabled by default?
Nightly50No
Developer Edition50No
Beta50No
Release50No
Preference namelayout.css.initial-letter.enabled

Property: aspect-ratio

The aspect-ratio CSS property is part of the CSS Box Sizing Module Level 4 specification and allows you to create boxes which conform to an aspect ratio.

See bug 1639963 and bug 1646096 for more details.

Release channelVersion addedEnabled by default?
Nightly81Yes
Developer Edition81No
Beta81No
Release81No
Preference namelayout.css.aspect-ratio.enabled

Pseudo-class: :focus-visible

Allows focus styles to be applied to elements like buttons and form controls, only when they are focused using the keyboard (e.g. when tabbing between elements), and not when they are focused using a mouse or other pointing device. See bug 1617600 for more details.

Release channelVersion addedEnabled by default?
Nightly75No
Developer Edition75No
Beta75No
Release75No
Preference namelayout.css.focus-visible.enabled

Single numbers as aspect ratio in media queries

Support for using a single <number> as a <ratio> when specifying the aspect ratio for a media query. See bug 1565562 for more details.

Release channelVersion addedEnabled by default?
Nightly70No
Developer Edition70No
Beta70No
Release70No
Preference namelayout.css.aspect-ratio-number.enabled

Property: backdrop-filter

The backdrop-filter property applies filter effects to the area behind an element. See bug 1178765 for more details.

Release channelVersion addedEnabled by default?
Nightly70No
Developer Edition70No
Beta70No
Release70No
Preference namelayout.css.backdrop-filter.enabled

Grid: Masonry layout

Adds support for a masonry-style layout based on grid layout where one axis has a masonry layout and the other has a normal grid layout. This allows developers to easily create gallery style layouts like on Pinterest. See bug 1607954 for more details.

Release channelVersion addedEnabled by default?
Nightly77Yes
Developer Edition77No
Beta77No
Release77No
Preference namelayout.css.grid-template-masonry-value.enabled

Media feature: prefers-contrast

The prefers-contrast media feature is used to detect whether the user has specified a preference for higher (or lower) contrast in the presentation of web content. Refer to bug 1506364 for more details.

Release channelVersion addedEnabled by default?
Nightly80No
Developer Edition80No
Beta80No
Release80No
Preference name

layout.css.prefers-contrast.enabled

Property: math-style 

The math-style property  indicates whether MathML equations should render with normal or compact height. See bug 1665975 for more details.

Release channelVersion addedEnabled by default?
Nightly83No
Developer Edition83No
Beta83No
Release83No
Preference namelayout.css.math-style.enabled

JavaScript

Private class fields

See Private class fields for more details.

Release channelVersion addedEnabled by default?
Nightly81No
Developer Edition81No
Beta81No
Release81No
Preference namesjavascript.options.experimental.private_fields
javascript.options.experimental.private_methods

APIs

Graphics: Canvas, WebGL, and WebGPU

Interface: OffscreenCanvas

The OffscreenCanvas interface provides a canvas that can be rendered offscreen. It is available in both the window and worker contexts. See bug 1390089 for more details.

Release channelVersion addedEnabled by default?
Nightly44No
Developer Edition44No
Beta44No
Release44No
Preference namegfx.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.

Release channelVersion addedEnabled by default?
Nightly30No
Developer Edition30No
Beta30No
Release30No
Preference namecanvas.hitregions.enabled

WebGL: Draft extensions

When this preference is enabled, any WebGL extensions currently in "draft" status which are being tested are enabled for use. Currently, there are no WebGL extensions being tested by Firefox.

WebGPU API

This new API provides low-level support for performing computation and graphics rendering using the Graphics Processing Unit (GPU) of the user's device or computer. The specification is still a work-in-progress. See bug 1602129 for our progress on this API.

Release channelVersion addedEnabled by default?
Nightly73No
Developer Edition73No
Beta73No
Release73No
Preference namedom.webgpu.enabled

HTML DOM API

Global event: beforeinput

The global beforeinput event is sent to an <input> element—or any element whose contenteditable attribute is enabled—immediately before the element's value changes.

Release channelVersion addedEnabled by default?
Nightly74No
Developer Edition74No
Beta74No
Release74No
Preference namedom.input_events.beforeinput.enabled

InputEvent.getTargetRanges()

The getTargetRanges() method of the InputEvent interface returns an array of static ranges that will be affected by a change to the DOM if the input event is not canceled.

Release channelVersion addedEnabled by default?
Nightly83No
Developer Edition83No
Beta83No
Release83No
Preference namedom.input_events.beforeinput.enabled

HTMLMediaElement method: setSinkId()

HTMLMediaElement.setSinkId() allows you to set the sink ID of an audio output device on an HTMLMediaElement, thereby changing where the audio is being output. See bug 934425 for more details.

Release channelVersion addedEnabled by default?
Nightly64No
Developer Edition64No
Beta64No
Release64No
Preference namemedia.setsinkid.enabled

HTMLMediaElement properties: audioTracks and videoTracks

Enabling this feature adds the HTMLMediaElement.audioTracks and HTMLMediaElement.videoTracks properties to all HTML media elements. However, because Firefox doesn't currently suport multiple audio and video tracks, the most common use cases for these properties don't work, so they're both disabled by default. See bug 1057233 for more details.

Release channelVersion addedEnabled by default?
Nightly33No
Developer Edition33No
Beta33No
Release33No
Preference namemedia.track.enabled

DOM

HTML Sanitizer API

The HTML Sanitizer API allow developers to take untrusted strings of HTML and sanitize them for safe insertion into a document’s DOM. Default elements within each configuration property (those to be sanitized) are still under consideration. Due to this the config parameter has not been implemented (see the constructor) for more information. See bug 1673309 for more details.

Release channelVersion addedEnabled by default?
Nightly84No
Developer Edition84No
Beta84No
Release84No
Preference namedom.security.sanitizer.enabled

Document property: autoplayPolicy

The document property autoplayPolicy returns a string indicating how the browser handles requests to automatically play media (either using the autoplay property on a media element or by attempting to trigger playback from JavaScript code. The spec for this API is still being written. The value changes over time depending on what the user is doing, their preferences, and the state of the browser in general. Potential values include allowed (autoplay is currently permitted), allowed-muted (autoplay is allowed but only with no—or muted—audio), and disallowed (autoplay is not allowed at this time). See bug 1506289 for more details.

Release channelVersion addedEnabled by default?
Nightly66No
Developer Edition66No
Beta66No
Release66No
Preference namedom.media.autoplay.autoplay-policy-api

GeometryUtils methods: convertPointFromNode(), convertRectFromNode(), and convertQuadFromNode()

The GeometryUtils methods convertPointFromNode(), convertRectFromNode(), and convertQuadFromNode() map the given point, rectangle, or quadruple from the Node on which they're called to another node. See bug 918189 for more details.

Release channelVersion addedEnabled by default?
Nightly31Yes
Developer Edition31No
Beta31No
Release31No
Preference namelayout.css.getBoxQuads.enabled

GeometryUtils method: getBoxQuads()

The GeometryUtils method getBoxQuads() returns the CSS boxes for a Node relative to any other node or viewport. See bug 917755 for more details.

Release channelVersion addedEnabled by default?
Nightly31Yes
Developer Edition31No
Beta31No
Release31No
Preference namelayout.css.convertFromNode.enable

Payment Request API

Primary payment handling

The Payment Request API provides support for handling web-based payments within web content or apps. Due to a bug that came up during testing of the user interface, we have decided to postpone shipping this API while discussions over potential changes to the API are held. Work is ongoing. See bug 1318984 for more details on the state of this API.

Release channelVersion addedEnabled by default?
Nightly55No
Developer Edition55No
Beta55No
Release55No
Preference namedom.payments.request.enabled and
dom.payments.request.supportedRegions

Basic Card API

Extends the Payment Request API with dictionaries that define data structures describing card payment types and payment responses. See BasicCardRequest and BasicCardResponse.

Release channelVersion addedEnabled by default?
Nightly56No
Developer Edition56No
Beta56No
Release56No
Preference namedom.payments.request.enabled and
dom.payments.request.supportedRegions

Visual Viewport API

The Visual Viewport API provides access to information describing the position of the visual viewport relative to the document as well as to the window's content area. It also supports events to monitor changes to this information. See bug 1550390 for more details. There currently is no real plan to ship this on desktop, but you can track the state of that just in case it changes in bug 1551302.

Release channelVersion addedEnabled by default?
Nightly63No
Developer Edition63No
Beta63No
Release63Starting in Firefox 68, on Android only
Preference namedom.visualviewport.enabled

Constructable stylesheets

The addition of a constructor to the CSSStyleSheet interface as well as a variety of related changes makes it possible to directly create new stylesheets without having to add the sheet to the HTML. This makes it much easier to create reusable stylesheets for use with Shadow DOM. Our implementation is not yet complete; see bug 1520690 for more details.

Release channelVersion addedEnabled by default?
Nightly73No
Developer Edition73No
Beta73No
Release73No
Preference namelayout.css.constructable-stylesheets.enabled

WebRTC and media

The following experimental features include those found in the WebRTC API, the Web Audio API, the Media Source Extensions API, the Encrypted Media Extensions API, and the Media Capture and Streams API.

Asynchronous SourceBuffer add and remove

This adds the promise-based methods appendBufferAsync() and removeAsync() for adding and removing media source buffers to the SourceBuffer interface. See bug 1280613 and bug 778617 for more information.

Release channelVersion addedEnabled by default?
Nightly62No
Developer Edition62No
Beta62No
Release62No
Preference namemedia.mediasource.experimental.enabled

AVIF (AV1 Image File format) support

With this feature enabled, Firefox supports the AV1 Image File (AVIF) format. This is a still image file format that leverages the capabilities of the AV1 video compression algorithms to reduce image size. See bug 1443863 for more details.

Release channelVersion addedEnabled by default?
Nightly77No
Developer Edition77No
Beta77No
Release77No
Preference nameimage.avif.enabled

AV1 support for Firefox on Android

This feature allows Firefox on Android to use AV1 format media. This feature is available in nightly builds effective in Firefox for Android 81 or later. It is enabled by default.

Release channelVersion addedEnabled by default?
Nightly81Yes
Developer Edition
Beta
Release
Preference name

Security and privacy

Block plain text requests from Flash on encrypted pages

In order to help mitigate man-in-the-middle (MitM) attacks caused by Flash content on encrypted pages, a preference has been added to treat OBJECT_SUBREQUESTs as active content. See bug 1190623 for more details.

Release channelVersion addedEnabled by default?
Nightly59No
Developer Edition59No
Beta59No
Release59No
Preference namesecurity.mixed_content.block_object_subrequest

Insecure page labeling

These two preferences add a "Not secure" text label in the address bar next to the traditional lock icon when a page is loaded insecurely (that is, using HTTP rather than HTTPS). See bug 1335970 for more details.

Release channelVersion addedEnabled by default?
Nightly60No
Developer Edition60No
Beta60No
Release60No
Preference namesecurity.insecure_connection_text.enabled for normal browsing mode; security.insecure_connection_text.pbmode.enabled for private browsing mode

Upgrading mixed display content

When enabled, this preference causes Firefox to automatically upgrade requests for media content from HTTP to HTTPS on secure pages. The intent is to prevent mixed-content conditions in which some content is loaded securely while other content is insecure. If the upgrade fails (because the media's host doesn't support HTTPS), the media is not loaded. See bug 1435733 for more details.

This also changes the console warning; if the upgrade succeeds, the message indicates that the request was upgraded, instead of showing a warning.

Release channelVersion addedEnabled by default?
Nightly84Yes
Developer Edition60No
Beta60No
Release60No
Preference namesecurity.mixed_content.upgrade_display_content

FTP support disabled

For security reasons, Mozilla intends to remove support for FTP from Firefox in 2020, effective in Firefox 82. See bug 1622409 for implementation progress. The network.ftp.enabled preference must be enabled (set to true) to allow FTP to be used.

Release channelVersion addedEnabled by default?
Nightly77Yes
Developer Edition77No
Beta77No
Release77No
Preference namenetwork.ftp.enabled

Developer tools

Mozilla's developer tools are constantly evolving. We experiment with new ideas, add new features, and test them on the Nightly and Developer Edition channels before letting them go through to beta and release. The features below are the current crop of experimental developer tool features.

Color scheme simulation

Adds an option to simulate different color schemes allowing to test @prefers-color-scheme media queries. Using this media query lets your style sheet specify whether it prefers a light or dark user interface. This feature lets you test your code without having to change settings in your browser (or operating system, if the browser follows a system-wide color scheme setting).

See bug 1550804 and bug 1137699 for more details.

Release channelVersion addedEnabled by default?
Nightly72No
Developer Edition72No
Beta72No
Release72No
Preference namedevtools.inspector.color-scheme-simulation.enabled

Execution context selector

This feature displays a button on the console's command line that lets you change the context in which the expression you enter will be executed. See bug 1605154 and bug 1605153 for more details.

Release channelVersion addedEnabled by default?
Nightly75No
Developer Edition75No
Beta75No
Release75No
Preference namedevtools.webconsole.input.context

Mobile gesture support in Responsive Design Mode

Mouse gestures are used to simulate mobile gestures like swiping/scrolling, double-tap and pinch-zooming and long-press to select/open the context menu. See bug 1621781, bug 1245183, and bug 1401304 for more details.

Release channelVersion addedEnabled by default?
Nightly76[1]Yes
Developer Edition76[1]Yes
Beta76[1]Yes
Release76[1]No
Preference namen/a

[1] Support for zooming using the double-tap gesture was added in Firefox 76. The other gestures were added for Firefox 79.

Server-sent events in Network Monitor

The Network Monitor displays information for server-sent events. See bug 1405706.

Release channelVersion addedEnabled by default?
Nightly80Yes
Developer Edition80Yes
Beta80No
Release80No
Preference namedevtools.netmonitor.features.serverSentEvents

CSS browser compatibility tooltips

The CSS Rules View can display browser compatibility tooltips next to any CSS properties that have known issues. For more information see: Examine and edit HTML > Browser Compat Warnings.

Release channelVersion addedEnabled by default?
Nightly81No
Developer Edition81No
Beta81No
Release81No
Preference namedevtools.inspector.ruleview.inline-compatibility-warning.enabled

UI

Desktop zooming

This feature lets you enable smooth pinch zooming on desktop computers without requiring layout reflows, just like mobile devices do. See bug 1245183 and bug 1620055 for further details.

Release channelVersion addedEnabled by default?
Nightly42Yes
Developer Edition42No
Beta42No
Release42No
Preference nameapz.allow_zooming and (on Windows) apz.windows.use_direct_manipulation

See also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:95 次

字数:62427

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文