Politique de fonctionnalités

Vous lisez la version anglaise de ce contenu car il n’existe pas encore de traduction dans cette langue. Aidez-nous à traduire cet article !

La politique de fonctionnalités permet aux développeurs Web d'activer, de désactiver et de modifier de manière sélective le comportement de certaines fonctionnalités et de certaines API du navigateur. C'est similaire à Content Security Policy mais contrôle les fonctionnalités au lieu du comportement de sécurité.

En un mot

La politique de fonctionnalité fournit un mécanisme permettant de déclarer explicitement quelle fonctionnalité est utilisée (ou non utilisée) sur l'ensemble de votre site Web. Cela vous permet d'intégrer les meilleures pratiques, même si la base de code évolue au fil du temps, ainsi que de composer du contenu tiers en toute sécurité, en limitant le nombre de fonctionnalités disponibles.

With Feature Policy, you opt-in to a set of "policies" for the browser to enforce on specific features used throughout a website. These policies restrict what APIs the site can access or modify the browser's default behavior for certain features.

Examples of what you can do with Feature Policy:

  • Change the default behavior of autoplay on mobile and third party videos.
  • Restrict a site from using sensitive APIs like camera or microphone.
  • Allow iframes to use the fullscreen API.
  • Block the use of outdated APIs like synchronous XHR and document.write().
  • Ensure images are sized properly and are not too big for the viewport.

Concepts and usage

Feature Policy allows you to control which origins can use which features, both in the top-level page and in embedded frames. Essentially, you write a policy, which is an allowed list of origins for each feature. For every feature controlled by Feature Policy, the feature is only enabled in the current document or frame if its origin matches the allowed list of origins.

For each policy-controlled feature, the browser maintains a list of origins for which the feature is enabled, known as an allowlist. If you do not specify a policy for a feature, then a default allowlist will be used. The default allowlist is specific to each feature.

Writing a policy

A policy is described using a set of individual policy directives. A policy directive is a combination of a defined feature name, and an allowlist of origins that can use the feature.

Specifying your policy

Feature Policy provides two ways to specify policies to control features:

The primary difference between the HTTP header and the allow attribute is that the allow attribute only controls features within an iframe. The header controls features in the response and any embedded content within the page.

For more details see Using Feature Policy.

Inferring the policy

Scripts can programatically query information about the feature policy via the FeaturePolicy object located at either Document.featurePolicy or HTMLIFrameElement.featurePolicy.

Types of policy-controlled features

Though Feature Policy provides control of multiple features using a consistent syntax, the behavior of policy controlled features varies and depends on several factors.

The general principle is that there should be an intuitive or non-breaking way for web developers to detect or handle the case when the feature is disabled. Newly introduced features may have an explicit API to signal the state. Existing features that later integrate with Feature Policy will typically use existing mechanisms. Some approaches include:

  • Return "permission denied" for JavaScript APIs that require user permission grants.
  • Return false or error from an existing JavaScript API that provides access to feature.
  • Change the default values or options that control the feature behavior.

The current set of policy-controlled features fall into two broad categories:

  • Enforcing best practices for good user experiences.
  • Providing granular control over sensitive or powerful features.

Best practices for good user experiences

There are several policy-controlled features to help enforce best practices for providing good performance and user experiences.

In most cases, the policy-controlled features represent functionality that when used will negatively impact the user experience. To avoid breaking existing web content, the default for such policy-controlled features is to allow the functionality to be used by all origins. Best practices are then enforced by using policies that disable the policy-controlled features. For more details see "Enforcing best practices for good user experiences".

The features include:

  • Layout-inducing animations
  • Legacy image formats
  • Oversized images
  • Synchronous scripts
  • Synchronous XMLHTTPRequest
  • Unoptimized images
  • Unsized media

Granular control over certain features

The web provides functionality and APIs that may have privacy or security risks if abused. In some cases, you may wish to strictly limit how such functionality is used on a website. There are policy-controlled features to allow functionality to be enabled/disabled for specific origins or frames within a website. Where available, the feature integrates with the Permissions API, or feature-specific mechanisms to check if the feature is available.

The features include (see Features list):

  • Accelerometer
  • Ambient light sensor
  • Autoplay
  • Camera
  • Encrypted media
  • Fullscreen
  • Geolocation
  • Gyroscope
  • Magnetometer
  • Microphone
  • Midi
  • PaymentRequest
  • Picture-in-picture
  • Speaker
  • USB
  • VR / XR

Examples

Specifications

Specification Status Comment
Feature Policy
La définition de 'Feature-Policy' dans cette spécification.
Brouillon de l'éditeur Initial definition. Defines the Feature-Policy header. Directives are defined in the specs for the features they control. See individual directive pages for details.

Browser compatibility

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
Feature-Policy
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 47Safari Support partiel 11.1
Notes
Support partiel 11.1
Notes
Notes Only supported through the allow attribute on <iframe> elements.
WebView Android Support complet 60Chrome Android Support complet 60Firefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 44Safari iOS Support partiel 11.3
Notes
Support partiel 11.3
Notes
Notes Only supported through the allow attribute on <iframe> elements.
Samsung Internet Android Support complet 8.0
accelerometer
Expérimentale
Chrome Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 56
Désactivée
Support complet 56
Désactivée
Désactivée From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari Aucun support NonWebView Android Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 48
Désactivée
Support complet 48
Désactivée
Désactivée From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS Aucun support NonSamsung Internet Android Aucun support Non
ambient-light-sensor
Expérimentale
Chrome Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 56
Désactivée
Support complet 56
Désactivée
Désactivée From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari Aucun support NonWebView Android Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 48
Désactivée
Support complet 48
Désactivée
Désactivée From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS Aucun support NonSamsung Internet Android Aucun support Non
autoplay
Expérimentale
Chrome Support complet 64Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 51Safari Aucun support NonWebView Android Support complet 64Chrome Android Support complet 64Firefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 47Safari iOS Aucun support NonSamsung Internet Android Support complet 9.0
camera
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 48Safari Support complet 11.1WebView Android Support complet 60Chrome Android Support complet 60Firefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 45Safari iOS Support complet 11.3Samsung Internet Android Support complet 8.0
display-capture
Expérimentale
Chrome Aucun support NonEdge Aucun support NonFirefox Support complet 67
Désactivée
Support complet 67
Désactivée
Désactivée From version 67: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 67
Désactivée
Support complet 67
Désactivée
Désactivée From version 67: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
document-domain
Expérimentale
Chrome Support complet 77Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 64Safari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
encrypted-media
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 48Safari Aucun support NonWebView Android Support complet 60Chrome Android Support complet 60Firefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 45Safari iOS Aucun support NonSamsung Internet Android Support complet 8.0
fullscreen
Expérimentale
Chrome Support complet 62Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 49Safari Aucun support NonWebView Android Support complet 62Chrome Android Support complet 62Firefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 46Safari iOS Aucun support NonSamsung Internet Android Support complet 8.0
geolocation
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 47Safari Aucun support NonWebView Android Support complet 60Chrome Android Support complet 60Firefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 44Safari iOS Aucun support NonSamsung Internet Android Support complet 8.0
gyroscope
Expérimentale
Chrome Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 56
Désactivée
Support complet 56
Désactivée
Désactivée From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari Aucun support NonWebView Android Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 48
Désactivée
Support complet 48
Désactivée
Désactivée From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS Aucun support NonSamsung Internet Android Aucun support Non
layout-animations
Expérimentale
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
legacy-image-formats
Expérimentale
Chrome Support complet 68
Désactivée
Support complet 68
Désactivée
Désactivée From version 68: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 55
Désactivée
Support complet 55
Désactivée
Désactivée From version 55: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari Aucun support NonWebView Android Support complet 68
Désactivée
Support complet 68
Désactivée
Désactivée From version 68: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android Support complet 68
Désactivée
Support complet 68
Désactivée
Désactivée From version 68: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 48
Désactivée
Support complet 48
Désactivée
Désactivée From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS Aucun support NonSamsung Internet Android Aucun support Non
magnetometer
Expérimentale
Chrome Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 56
Désactivée
Support complet 56
Désactivée
Désactivée From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari Aucun support NonWebView Android Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android Support complet 69
Désactivée
Support complet 69
Désactivée
Désactivée From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 48
Désactivée
Support complet 48
Désactivée
Désactivée From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS Aucun support NonSamsung Internet Android Aucun support Non
microphone
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 48Safari Support complet 11.1WebView Android Support complet 60Chrome Android Support complet 60Firefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 45Safari iOS Support complet 11.3Samsung Internet Android Support complet 8.0
midi
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 47Safari Aucun support NonWebView Android Support complet 60Chrome Android Support complet 60Firefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 44Safari iOS Aucun support NonSamsung Internet Android Support complet 8.0
oversized-images
Expérimentale
Chrome Support complet 72
Désactivée
Support complet 72
Désactivée
Désactivée From version 72: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 60
Désactivée
Support complet 60
Désactivée
Désactivée From version 60: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari Aucun support NonWebView Android Support complet 72
Désactivée
Support complet 72
Désactivée
Désactivée From version 72: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android Support complet 72
Désactivée
Support complet 72
Désactivée
Désactivée From version 72: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 50
Désactivée
Support complet 50
Désactivée
Désactivée From version 50: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS Aucun support NonSamsung Internet Android Aucun support Non
payment
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 47Safari Aucun support NonWebView Android Support complet 60Chrome Android Support complet 60Firefox Android Support complet 65
Désactivée
Support complet 65
Désactivée
Désactivée From version 65: this feature is behind the dom.security.featurePolicy.header.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Support complet 44Safari iOS Aucun support NonSamsung Internet Android Support complet 8.0
picture-in-picture
Expérimentale
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
speaker
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 48Safari Aucun support NonWebView Android Support complet 60Chrome Android Support complet 60Firefox Android Aucun support NonOpera Android Support complet 45Safari iOS Aucun support NonSamsung Internet Android Support complet 8.0
sync-xhr
Expérimentale
Chrome Support complet 65Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 52Safari Aucun support NonWebView Android Support complet 65Chrome Android Support complet 65Firefox Android Aucun support NonOpera Android Support complet 47Safari iOS Aucun support NonSamsung Internet Android Support complet 9.0
unoptimized-images
Expérimentale
Chrome Support complet 72
Désactivée
Support complet 72
Désactivée
Désactivée From version 72: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 60
Désactivée
Support complet 60
Désactivée
Désactivée From version 60: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari Aucun support NonWebView Android Support complet 72
Désactivée
Support complet 72
Désactivée
Désactivée From version 72: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android Support complet 72
Désactivée
Support complet 72
Désactivée
Désactivée From version 72: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 50
Désactivée
Support complet 50
Désactivée
Désactivée From version 50: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS Aucun support NonSamsung Internet Android Aucun support Non
unsized-media
Expérimentale
Chrome Support complet 66
Désactivée
Support complet 66
Désactivée
Désactivée From version 66: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 53
Désactivée
Support complet 53
Désactivée
Désactivée From version 53: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari Aucun support NonWebView Android Support complet 66
Désactivée
Support complet 66
Désactivée
Désactivée From version 66: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android Support complet 66
Désactivée
Support complet 66
Désactivée
Désactivée From version 66: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 47
Désactivée
Support complet 47
Désactivée
Désactivée From version 47: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS Aucun support NonSamsung Internet Android Support complet 9.0
usb
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 47Safari Aucun support NonWebView Android Support complet 60Chrome Android Support complet 60Firefox Android Aucun support NonOpera Android Support complet 44Safari iOS Aucun support NonSamsung Internet Android Support complet 8.0
vibrate
Expérimentale
Chrome Support complet 60Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 47Safari Aucun support NonWebView Android Support complet 60Chrome Android Support complet 60Firefox Android Aucun support NonOpera Android Support complet 44Safari iOS Aucun support NonSamsung Internet Android Support complet 8.0
vr
Expérimentale
Chrome Support complet 62Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Support complet 49Safari Aucun support NonWebView Android Support complet 62Chrome Android Support complet 62Firefox Android Aucun support NonOpera Android Support complet 46Safari iOS Aucun support NonSamsung Internet Android Support complet 8.0
webauthn
Expérimentale
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non

Légende

Support complet  
Support complet
Support partiel  
Support partiel
Aucun support  
Aucun support
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.

See also