Feature-Policy

O cabeçalho HTTP Feature-Policy provém um mecanismo para permitir ou proibir o uso de funcionalidades do navegador no seu próprio enquadramento, e o conteúdo dentro de quaisquer elementos <iframe> no documento.

Este cabeçalho ainda está em estado experimental, e é sujeito a mudança a qualquer momento. Tenha cautela quando implementando isso no seu site. O cabeçalho agora foi renomeado para Permissions-Policy na especificação, e este artigo irá eventualmente ser atualizado para refletir estas atualizações.

Para mais informação, veja o artigo principal Policy Feature.

Tipo de cabeçalho Response header
Forbidden header name sim

Sintaxe

Feature-Policy: <directive> <allowlist>
<directive>
A diretiva Feature Policy que irá aplicar a allowlist. Veja Diretivas abaixo para a lista de nomes de diretivas.
<allowlist>

An allowlist is a list of origins that takes one or more of the following values, separated by spaces:

  • *: The feature will be allowed in this document, and all nested browsing contexts (iframes) regardless of their origin.
  • 'self': The feature will be allowed in this document, and in all nested browsing contexts (iframes) in the same origin.
  • 'src': (In an iframe allow attribute only) The feature will be allowed in this iframe, as long as the document loaded into it comes from the same origin as the URL in the iframe's src attribute.
    The 'src' origin is used in the iframe allow attribute only, and is the default allowlist value. 
  • 'none': The feature is disabled in top-level and nested browsing contexts.
  • <origin(s)>: The feature is allowed for specific origins (for example, https://example.com). Origins should be separated by a space.

The values * (enable for all origins) or 'none' (disable for all origins) may only be used alone, while 'self' and 'src' may be used with one or more origins.

Features are each defined to have a default allowlist, which is one of:

  • *: The feature is allowed by default in top-level browsing contexts and all nested browsing contexts (iframes).
  • 'self': The feature is allowed by default in top-level browsing contexts and in nested browsing contexts (iframes) in the same origin. The feature is not allowed in cross-origin documents in nested browsing contexts.
  • 'none': The feature is disabled in top-level and nested browsing contexts.

Diretivas

accelerometer
Controla se o documento atual é permitido de coletar informação sobre a aceleração do dispositivo através da interface Accelerometer.
ambient-light-sensor
Controla se o documento atual é permitido de coletar informação sobre a quantidade de luz no ambiente ao redor do dispositivo através da interface AmbientLightSensor.
autoplay
Controla se o documento atual é permitido de tocar a mídia requisitada automaticamente através da interface HTMLMediaElement. Quando esta política é desabilitada e não há ação do usuário, o Promise returnado pelo HTMLMediaElement.play() irá rejeitar com uma DOMException. O atributo autoplay em elementos <audio> e <video> será ignorado.
battery
Controla se o uso da API de Status de Bateria é permitido. Quando esta política está desabilitada, o Promise returnado peloNavigator.getBattery() irá rejeitar com um NotAllowedError DOMException.
camera
Controla se o documento atual é permitido de usar entradas de dispositivos de vídeo. Quando esta política está desabilitada, o Promise returnado pelo getUserMedia() irá rejeitar com um NotAllowedError DOMException.
display-capture
Controla se o documento atual é permitido ou não de usar o método getDisplayMedia() para capturar conteúdos de tela. Quando esta política está desabilitada, a Promise retornada pelo getDisplayMedia() irá rejeitar com um NotAllowedError se a permissão não for obtida para capturar os conteúdos da tela.
document-domain
Controle se o documento atual é permitido de colocar document.domain. Quando esta política está desabilitada, tentativas em colocar document.domain irão falhar e causar uma SecurityError DOMException a ser jogada.
encrypted-media
Controla se o documento atual é permitido de usar a API Extensões de Mídias Encriptadas (Encrypted Media Extensions) (EME). Quando esta política é desabilitada, a Promise returnada pelo Navigator.requestMediaKeySystemAccess() irá rejeitar com um DOMException.
execution-while-not-rendered
Controla se as tarefas devem ser executadas em enquadramentos enquanto não são renderizados (e.g. se um enquadramento é hidden ou display: none).
execution-while-out-of-viewport
Controla se as tarefas devem ser executadas em enquadramentos enquanto eles estão fora da janela de visualização visível.
fullscreen
Controla se o documento atual é permitido de usar Element.requestFullScreen(). Quando esta política está desabilitada, a Promise retornada rejeita com um TypeError DOMException.
geolocation
Controla se o documento atual é permitido de usar a interface Geolocation. Quando a política está desabilitada, chamadas para getCurrentPosition() e watchPosition() irão causar aos callbacks da funções serem invocados com um PositionError de PERMISSION_DENIED.
gyroscope
Controla se o documento atual é permitido de coletar informação sobre a orientação do dispositivo através da interface Gyroscope.
layout-animations
Controla se o documento atual é permitido de mostrar animações de layout.
legacy-image-formats
Controla se o documento atual é permitido de mostrar imagens em formatos legados.
magnetometer
Controla se o documento atual é permitido de coletar informação sobre a orientação do dispositivo através da interface Magnetometer.
microphone
Controla se o documento atual é permitido de usar entradas de dispositivos de áudio. Quando esta política está desabilitada, a Promise returnada pelo MediaDevices.getUserMedia() irá rejeitar com um NotAllowedError.
midi
Controla se o documento atual é permitido de usar a API Web MIDI. Quando esta política está desabilitada, a Promise returnada pelo Navigator.requestMIDIAccess() irá rejeitar com um DOMException.
navigation-override
Controla a disponibilidade de mecanismos que habilitam o autor da página a tomar controle sobre o comportamento da navegação espacial (spatial navigation), ou cancelar completamente.
oversized-images
Controla se o documento atual é permitido de baixar e mostrar imagens grandes.
payment
Controla se o documento atual permite o uso da API de Requisição de Pagamento (Payment Request API). Quando esta política está desabilitada, o construtor PaymentRequest() irá jogar um SecurityError DOMException.
picture-in-picture
Controla se o documento atual permite que um vídeo seja permitido tocar no modo Picture-in-Picture através da API correspondente.
publickey-credentials-get
Controla se o documento atual é permitido de usar a API de Autenticação Web para resgatar credenciais de chave pública já guardadas, i.e. através do  navigator.credentials.get({publicKey: ..., ...}).
sync-xhr
Controla se o documento atual é permitido de fazer requisições síncronas XMLHttpRequest.
usb
Controla se o documento atual é permitido de usar a API WebUSB.
vr
Controla se o documento atual é permitido de usar a API WebVR. Quando esta política é desabilitada, o Promise returnado pelo Navigator.getVRDisplays() irá rejeitar com um DOMException. Tenha em mente que o padrão WebVR está em processo de ser substituído pelo WebXR.
wake-lock
Controla se o documento atual é permitido de usar a API Wake Lock para indicar que o dispositivo não deve entrar em modo de economia de energia.
screen-wake-lock
Controla se o documento atual é permitido de utilizar a API Screen Wake Lock para indicar se o dispositivo deve ou não escurecer a tela.
xr-spatial-tracking
Controla se o documento atual é permitido ou não de usar a API WebXR Device para intergir com a sessão WebXR.

Exemplos

SecureCorp Inc. quer desabilitar o Microfone e as APIs de Geolocalização em sua aplicação. Isso pode ser feito entregando o seguinte cabeçalho de resposta HTTP para definir a política de funcionalidade:

Feature-Policy: microphone 'none'; geolocation 'none'

Especificando a palavra-chave 'none' para a lista de origem, as funcionalidades especificadas serão desabilitadas para todos os contextos de navegaçnao (incluindo todos os iframes), independente da origem.

Especificações

Especificação Status Comentário
Permissions Policy
The definition of 'Permissions-Policy' in that specification.
Rascunho editorial

Compatibilidade de navegador

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Feature-Policy
Experimental
Chrome Full support 60Edge Full support 79Firefox Full support 74
Full support 74
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 47Safari Partial support 11.1
Notes
Partial support 11.1
Notes
Notes Only supported through the allow attribute on <iframe> elements.
WebView Android Full support 60Chrome Android Full support 60Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 Full support 44Safari iOS Partial support 11.3
Notes
Partial support 11.3
Notes
Notes Only supported through the allow attribute on <iframe> elements.
Samsung Internet Android Full support 8.0
accelerometer
Experimental
Chrome Full support 69
Disabled
Full support 69
Disabled
Disabled 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 Full support 79
Disabled
Full support 79
Disabled
Disabled From version 79: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Firefox No support NoIE No support NoOpera Full support 56
Disabled
Full support 56
Disabled
Disabled From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android No support NoChrome Android Full support 69
Disabled
Full support 69
Disabled
Disabled 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 No support NoOpera Android Full support 48
Disabled
Full support 48
Disabled
Disabled From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android No support No
ambient-light-sensor
Experimental
Chrome Full support 69
Disabled
Full support 69
Disabled
Disabled 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 Full support 79
Disabled
Full support 79
Disabled
Disabled From version 79: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Firefox No support NoIE No support NoOpera Full support 56
Disabled
Full support 56
Disabled
Disabled From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android No support NoChrome Android Full support 69
Disabled
Full support 69
Disabled
Disabled 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 No support NoOpera Android Full support 48
Disabled
Full support 48
Disabled
Disabled From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android No support No
autoplay
Experimental
Chrome Full support 64Edge Full support 79Firefox Full support 74
Full support 74
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 51Safari No support NoWebView Android Full support 64Chrome Android Full support 64Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 Full support 47Safari iOS No support NoSamsung Internet Android Full support 9.0
battery
Experimental
Chrome No support No
Notes
No support No
Notes
Notes Will be implemented, see bug 1007264.
Edge No support No
Notes
No support No
Notes
Notes Will be implemented, see bug 1007264.
Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support No
Notes
No support No
Notes
Notes Will be implemented, see bug 1007264.
Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
camera
Experimental
Chrome Full support 60Edge Full support 79Firefox Full support 74
Full support 74
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 48Safari Full support 11.1WebView Android Full support 60Chrome Android Full support 60Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 Full support 45Safari iOS Full support 11.3Samsung Internet Android Full support 8.0
display-capture
Experimental
Chrome No support NoEdge No support NoFirefox Full support 74
Full support 74
Full support 67
Disabled
Disabled 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 No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 67
Disabled
Full support 67
Disabled
Disabled 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 No support NoSafari iOS No support NoSamsung Internet Android No support No
document-domain
Experimental
Chrome Full support 77Edge Full support 79Firefox Full support 74
Full support 74
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 64Safari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 No support NoSafari iOS No support NoSamsung Internet Android No support No
encrypted-media
Experimental
Chrome Full support 60Edge Full support 79Firefox Full support 74
Full support 74
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 48Safari No support NoWebView Android Full support 60Chrome Android Full support 60Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 Full support 45Safari iOS No support NoSamsung Internet Android Full support 8.0
fullscreen
Experimental
Chrome Full support 62Edge Full support 79Firefox Full support 74
Notes
Full support 74
Notes
Notes Before Firefox 80, applying fullscreen to an <iframe> (i.e. via the allow attribute) does not work unless the allowfullscreen attribute is also present.
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 49Safari No support NoWebView Android Full support 62Chrome Android Full support 62Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 Full support 46Safari iOS No support NoSamsung Internet Android Full support 8.0
geolocation
Experimental
Chrome Full support 60Edge Full support 79Firefox Full support 74
Full support 74
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 47Safari No support NoWebView Android Full support 60Chrome Android Full support 60Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 Full support 44Safari iOS No support NoSamsung Internet Android Full support 8.0
gyroscope
Experimental
Chrome Full support 69
Disabled
Full support 69
Disabled
Disabled 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 Full support 79
Disabled
Full support 79
Disabled
Disabled From version 79: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Firefox No support NoIE No support NoOpera Full support 56
Disabled
Full support 56
Disabled
Disabled From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android No support NoChrome Android Full support 69
Disabled
Full support 69
Disabled
Disabled 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 No support NoOpera Android Full support 48
Disabled
Full support 48
Disabled
Disabled From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android No support No
layout-animations
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
legacy-image-formats
Experimental
Chrome Full support 68
Disabled
Full support 68
Disabled
Disabled 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 Full support 79
Disabled
Full support 79
Disabled
Disabled From version 79: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Firefox No support NoIE No support NoOpera Full support 55
Disabled
Full support 55
Disabled
Disabled From version 55: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android No support NoChrome Android Full support 68
Disabled
Full support 68
Disabled
Disabled 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 No support NoOpera Android Full support 48
Disabled
Full support 48
Disabled
Disabled From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android No support No
magnetometer
Experimental
Chrome Full support 69
Disabled
Full support 69
Disabled
Disabled 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 Full support 79
Disabled
Full support 79
Disabled
Disabled From version 79: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Firefox No support NoIE No support NoOpera Full support 56
Disabled
Full support 56
Disabled
Disabled From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android No support NoChrome Android Full support 69
Disabled
Full support 69
Disabled
Disabled 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 No support NoOpera Android Full support 48
Disabled
Full support 48
Disabled
Disabled From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android No support No
microphone
Experimental
Chrome Full support 60Edge Full support 79Firefox Full support 74
Full support 74
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 48Safari Full support 11.1WebView Android Full support 60Chrome Android Full support 60Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 Full support 45Safari iOS Full support 11.3Samsung Internet Android Full support 8.0
midi
Experimental
Chrome Full support 60Edge Full support 79Firefox Full support 74
Full support 74
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 47Safari No support NoWebView Android Full support 60Chrome Android Full support 60Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 Full support 44Safari iOS No support NoSamsung Internet Android Full support 8.0
oversized-images
Experimental
Chrome Full support 72
Disabled
Full support 72
Disabled
Disabled 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 Full support 79
Disabled
Full support 79
Disabled
Disabled From version 79: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Firefox No support NoIE No support NoOpera Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android No support NoChrome Android Full support 72
Disabled
Full support 72
Disabled
Disabled 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 No support NoOpera Android Full support 50
Disabled
Full support 50
Disabled
Disabled From version 50: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android No support No
payment
Experimental
Chrome Full support 60Edge Full support 79Firefox Full support 74
Full support 74
Full support 65
Disabled
Disabled 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 No support NoOpera Full support 47Safari No support NoWebView Android Full support 60Chrome Android Full support 60Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled 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 Full support 44Safari iOS No support NoSamsung Internet Android Full support 8.0
picture-in-picture
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
publickey-credentials-get
Experimental
Chrome Full support 84Edge Full support 84Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android Full support 84Chrome Android Full support 84Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
sync-xhr
Experimental
Chrome Full support 65Edge Full support 79Firefox No support NoIE No support NoOpera Full support 52Safari No support NoWebView Android Full support 65Chrome Android Full support 65Firefox Android No support NoOpera Android Full support 47Safari iOS No support NoSamsung Internet Android Full support 9.0
unoptimized-images
Experimental
Chrome Full support 72
Disabled
Full support 72
Disabled
Disabled 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 Full support 79
Disabled
Full support 79
Disabled
Disabled From version 79: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Firefox No support NoIE No support NoOpera Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android No support NoChrome Android Full support 72
Disabled
Full support 72
Disabled
Disabled 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 No support NoOpera Android Full support 50
Disabled
Full support 50
Disabled
Disabled From version 50: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android No support No
unsized-media
Experimental
Chrome Full support 66
Disabled
Full support 66
Disabled
Disabled 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 Full support 79
Disabled
Full support 79
Disabled
Disabled From version 79: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Firefox No support NoIE No support NoOpera Full support 53
Disabled
Full support 53
Disabled
Disabled From version 53: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android No support NoChrome Android Full support 66
Disabled
Full support 66
Disabled
Disabled 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 No support NoOpera Android Full support 47
Disabled
Full support 47
Disabled
Disabled From version 47: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android Full support 9.0
usb
Experimental
Chrome Full support 60Edge Full support 79Firefox No support NoIE No support NoOpera Full support 47Safari No support NoWebView Android Full support 60Chrome Android Full support 60Firefox Android No support NoOpera Android Full support 44Safari iOS No support NoSamsung Internet Android Full support 8.0
vibrate
ExperimentalDeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
vr
ExperimentalDeprecated
Chrome No support 62 — 80
Notes
No support 62 — 80
Notes
Notes WebVR API was never enabled by default in any production builds and was replaced by WebXR Device API.
Edge No support 79 — 80
Notes
No support 79 — 80
Notes
Notes WebVR API was never enabled by default in any production builds and was replaced by WebXR Device API.
Firefox No support NoIE No support NoOpera No support 49 — 67
Notes
No support 49 — 67
Notes
Notes WebVR API was never enabled by default in any production builds and was replaced by WebXR Device API.
Safari No support NoWebView Android No support NoChrome Android No support 62 — 80
Notes
No support 62 — 80
Notes
Notes WebVR API was never enabled by default in any production builds and was replaced by WebXR Device API.
Firefox Android No support NoOpera Android No support 46 — ?
Notes
No support 46 — ?
Notes
Notes WebVR API was never enabled by default in any production builds and was replaced by WebXR Device API.
Safari iOS No support NoSamsung Internet Android No support 8.0 — ?
Notes
No support 8.0 — ?
Notes
Notes WebVR API was never enabled by default in any production builds and was replaced by WebXR Device API.
wake-lock
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
xr-spatial-tracking
Experimental
Chrome Full support 79Edge Full support 79Firefox No support NoIE No support NoOpera Full support 66Safari No support NoWebView Android No support NoChrome Android Full support 79Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support  
Full support
Partial support  
Partial support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

Veja também