Feature Policy

機能ポリシーで、ウェブ開発者はブラウザーの特定の機能や API を有効化、無効化したり、動作を変更したりすることができます。これはコンテンツセキュリティポリシーに似ていますが、セキュリティの動作ではなく機能の制御を行うものです。

概要

機能ポリシーは、ウェブサイト全体でどの機能が使用されるか (または使用されないか) を明示的に宣言する仕組みを提供します。これにより、使用可能な機能を制限することによって、コードベースが時とともに進化し — サードパーティーのコンテンツをより安全に構成する場合と同様に — ベストプラクティスを維持することができます。

機能ポリシーでは、ブラウザーがウェブサイト全体で使用されている特定の機能を実施するための一連の「ポリシー」を選択します。これらのポリシーは、サイトがアクセスできる API を制限したり、特定の機能についてブラウザーの既定の動作を変更したりすることができます。

機能ポリシーで行うことができるものの例です。

  • モバイル環境でサードパーティの動画の自動再生の既定の動作を変更する。
  • カメラやマイクなどの注意が必要な API をサイトが使用することを制限する。
  • iframe から全画面 API が利用できるようにする。
  • 同期 XHRdocument.write() のような古い API の使用をブロックする。
  • 画像が正しい大きさであり、ビューポートに対して大きすぎないことを確認する。

概念と使い方

機能ポリシーを使用すると、最上位ページと埋め込みフレームの両方で、どのオリジンがどの機能を使用できるかを制御できます。基本的には、各機能が許可されたオリジンの一覧であるポリシーを記述します。機能ポリシーによって制御されるそれぞれの機能は、その機能がオリジンが許可されたオリジンのリスト内で一致した場合のみ現在の文書やフレームで有効になります。

ポリシーによって制御される各機能について、ブラウザーは機能が有効になっているオリジンの一覧、すなわち許可リストを管理します。ある機能のポリシーを設定していない場合は、既定の許可リストが使用されます。既定の許可リストは機能別に定められています。

ポリシーを書く

ポリシーは、個々のポリシーディレクティブのセットを使用して記述します。ポリシーディレクティブは定義済みの機能名と、その機能を使用することができるオリジンの許可リストの組み合わせです。

ポリシーの指定

機能ポリシーでは、機能を制御するポリシーを指定する方法を2つ提供しています。

HTTP ヘッダーと allow 属性の主な違いは、 allow 属性が iframe 内の機能のみを制御することです。ヘッダーは、レスポンス内とそのページ内の埋め込みコンテンツの機能を制御します。

詳細は機能ポリシーの使用を参照してください。

ポリシーの推定

スクリプトは、 Document.featurePolicy または HTMLIFrameElement.featurePolicy にある FeaturePolicy オブジェクトを通して機能ポリシーに関する情報をプログラム的に取得することができます。

ポリシーで制御する機能の種類

機能ポリシーは一貫した構文を使用して複数の機能の制御を提供しますが、ポリシー制御機能の動作はさまざまで、いくつかの要因によって異なります。

一般的な原則は、機能が無効になっているときにウェブ開発者がそれを判断し、対策するための直感的または妨害しない方法があるべきであるということです。新しく導入された機能には、状態を通知するための明示的な API がある場合があります。後で機能ポリシーと統合される既存の機能は、通常、既存のメカニズムを使用します。いくつかのアプローチには、

  • 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.

現在のポリシー制御機能のセットは、大きく2つのカテゴリに分類されます。

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

使い勝手を高めるためのベストプラクティス

優れたパフォーマンスとユーザーエクスペリエンスを提供するためのベストプラクティスを実施するのに役立つポリシー制御の機能がいくつかあります。

ほとんどの場合、ポリシーによって制御される機能は、使用時にユーザーエクスペリエンスに悪影響を与える機能を表します。既存のウェブコンテンツが壊れるのを防ぐため、このようなポリシー制御機能のデフォルトは、すべての起点で機能を使用できるようにすることです。ベストプラクティスは、ポリシー制御機能を無効にするポリシーを使用することによって実施されます。詳細は「優れたユーザーエクスペリエンスのためのベストプラクティスの実施」を参照してください。

The features include:

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

特定の機能に対する細かい制御

ウェブは、悪用された場合にプライバシーやセキュリティ上のリスクを伴う可能性のある機能や API を提供します。場合によっては、そのような機能がウェブサイト上でどのように使用されるかを厳密に制限することもできます。ウェブサイト内の特定の原点やフレームに対して機能を有効/無効にするポリシー制御の機能があります。利用可能な場合、機能は Permissions API、または機能が利用可能かどうかを確認する機能固有のメカニズムと統合されます。

機能には以下のものが含まれます (機能一覧を参照してください)。

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

仕様書

仕様書 状態 備考
Feature Policy
Feature-Policy の定義
編集者草案 初回定義。 Feature-Policy ヘッダーの定義。ディレクティブは制御する機能の仕様書で定義。詳細はそれぞれのディレクティブのページを参照。

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
Feature-Policy
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 47Safari 部分対応 11.1
補足
部分対応 11.1
補足
補足 Only supported through the allow attribute on <iframe> elements.
WebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 完全対応 44Safari iOS 部分対応 11.3
補足
部分対応 11.3
補足
補足 Only supported through the allow attribute on <iframe> elements.
Samsung Internet Android 完全対応 8.0
accelerometer
実験的
Chrome 完全対応 69
無効
完全対応 69
無効
無効 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 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 56
無効
完全対応 56
無効
無効 From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari 未対応 なしWebView Android 完全対応 69
無効
完全対応 69
無効
無効 From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android 完全対応 69
無効
完全対応 69
無効
無効 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 未対応 なしOpera Android 完全対応 48
無効
完全対応 48
無効
無効 From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
ambient-light-sensor
実験的
Chrome 完全対応 69
無効
完全対応 69
無効
無効 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 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 56
無効
完全対応 56
無効
無効 From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari 未対応 なしWebView Android 完全対応 69
無効
完全対応 69
無効
無効 From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android 完全対応 69
無効
完全対応 69
無効
無効 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 未対応 なしOpera Android 完全対応 48
無効
完全対応 48
無効
無効 From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
autoplay
実験的
Chrome 完全対応 64Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 51Safari 未対応 なしWebView Android 完全対応 64Chrome Android 完全対応 64Firefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 完全対応 47Safari iOS 未対応 なしSamsung Internet Android 完全対応 9.0
camera
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 48Safari 完全対応 11.1WebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 完全対応 45Safari iOS 完全対応 11.3Samsung Internet Android 完全対応 8.0
display-capture
実験的
Chrome 未対応 なしEdge 未対応 なしFirefox 完全対応 67
無効
完全対応 67
無効
無効 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 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 67
無効
完全対応 67
無効
無効 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 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
document-domain
実験的
Chrome 完全対応 77Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 64Safari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
encrypted-media
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 48Safari 未対応 なしWebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 完全対応 45Safari iOS 未対応 なしSamsung Internet Android 完全対応 8.0
fullscreen
実験的
Chrome 完全対応 62Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 49Safari 未対応 なしWebView Android 完全対応 62Chrome Android 完全対応 62Firefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 完全対応 46Safari iOS 未対応 なしSamsung Internet Android 完全対応 8.0
geolocation
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 47Safari 未対応 なしWebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 完全対応 44Safari iOS 未対応 なしSamsung Internet Android 完全対応 8.0
gyroscope
実験的
Chrome 完全対応 69
無効
完全対応 69
無効
無効 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 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 56
無効
完全対応 56
無効
無効 From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari 未対応 なしWebView Android 完全対応 69
無効
完全対応 69
無効
無効 From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android 完全対応 69
無効
完全対応 69
無効
無効 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 未対応 なしOpera Android 完全対応 48
無効
完全対応 48
無効
無効 From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
layout-animations
実験的
Chrome 未対応 なしEdge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
legacy-image-formats
実験的
Chrome 完全対応 68
無効
完全対応 68
無効
無効 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 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 55
無効
完全対応 55
無効
無効 From version 55: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari 未対応 なしWebView Android 完全対応 68
無効
完全対応 68
無効
無効 From version 68: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android 完全対応 68
無効
完全対応 68
無効
無効 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 未対応 なしOpera Android 完全対応 48
無効
完全対応 48
無効
無効 From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
magnetometer
実験的
Chrome 完全対応 69
無効
完全対応 69
無効
無効 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 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 56
無効
完全対応 56
無効
無効 From version 56: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari 未対応 なしWebView Android 完全対応 69
無効
完全対応 69
無効
無効 From version 69: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android 完全対応 69
無効
完全対応 69
無効
無効 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 未対応 なしOpera Android 完全対応 48
無効
完全対応 48
無効
無効 From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
microphone
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 48Safari 完全対応 11.1WebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 完全対応 45Safari iOS 完全対応 11.3Samsung Internet Android 完全対応 8.0
midi
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 47Safari 未対応 なしWebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 完全対応 44Safari iOS 未対応 なしSamsung Internet Android 完全対応 8.0
oversized-images
実験的
Chrome 完全対応 72
無効
完全対応 72
無効
無効 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 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 60
無効
完全対応 60
無効
無効 From version 60: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari 未対応 なしWebView Android 完全対応 72
無効
完全対応 72
無効
無効 From version 72: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android 完全対応 72
無効
完全対応 72
無効
無効 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 未対応 なしOpera Android 完全対応 50
無効
完全対応 50
無効
無効 From version 50: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
payment
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 完全対応 65
無効
完全対応 65
無効
無効 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 未対応 なしOpera 完全対応 47Safari 未対応 なしWebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 完全対応 65
無効
完全対応 65
無効
無効 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 完全対応 44Safari iOS 未対応 なしSamsung Internet Android 完全対応 8.0
picture-in-picture
実験的
Chrome 未対応 なしEdge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
speaker
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 48Safari 未対応 なしWebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 未対応 なしOpera Android 完全対応 45Safari iOS 未対応 なしSamsung Internet Android 完全対応 8.0
sync-xhr
実験的
Chrome 完全対応 65Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 52Safari 未対応 なしWebView Android 完全対応 65Chrome Android 完全対応 65Firefox Android 未対応 なしOpera Android 完全対応 47Safari iOS 未対応 なしSamsung Internet Android 完全対応 9.0
unoptimized-images
実験的
Chrome 完全対応 72
無効
完全対応 72
無効
無効 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 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 60
無効
完全対応 60
無効
無効 From version 60: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari 未対応 なしWebView Android 完全対応 72
無効
完全対応 72
無効
無効 From version 72: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android 完全対応 72
無効
完全対応 72
無効
無効 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 未対応 なしOpera Android 完全対応 50
無効
完全対応 50
無効
無効 From version 50: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
unsized-media
実験的
Chrome 完全対応 66
無効
完全対応 66
無効
無効 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 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 53
無効
完全対応 53
無効
無効 From version 53: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari 未対応 なしWebView Android 完全対応 66
無効
完全対応 66
無効
無効 From version 66: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Chrome Android 完全対応 66
無効
完全対応 66
無効
無効 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 未対応 なしOpera Android 完全対応 47
無効
完全対応 47
無効
無効 From version 47: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS 未対応 なしSamsung Internet Android 完全対応 9.0
usb
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 47Safari 未対応 なしWebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 未対応 なしOpera Android 完全対応 44Safari iOS 未対応 なしSamsung Internet Android 完全対応 8.0
vibrate
実験的
Chrome 完全対応 60Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 47Safari 未対応 なしWebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android 未対応 なしOpera Android 完全対応 44Safari iOS 未対応 なしSamsung Internet Android 完全対応 8.0
vr
実験的
Chrome 完全対応 62Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 完全対応 49Safari 未対応 なしWebView Android 完全対応 62Chrome Android 完全対応 62Firefox Android 未対応 なしOpera Android 完全対応 46Safari iOS 未対応 なしSamsung Internet Android 完全対応 8.0
webauthn
実験的
Chrome 未対応 なしEdge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
部分対応  
部分対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報