Feature-Policy:geolocation

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

HTTP の Feature-Policy ヘッダーにおける geolocation ディレクティブは、現在の文書が Geolocation インターフェイスを使用することを許可するかどうかを制御します。このポリシーが有効であれば、 getCurrentPosition() および watchPosition() を呼び出すと、関数のコールバックが呼び出され、 PositionError コードが PERMISSION_DENIED になります。

既定では、 Geolocation API は最上位の文書およびその同じオリジンの子フレームの中で使用することができます。このディレクティブは別オリジンのフレームによる位置情報へのアクセスを許可したり拒否したりします。同じオリジンのフレームも含みます。

構文

Feature-Policy: geolocation <allowlist>;
<allowlist>

許可リストは、以下の値のうち一つを取るオリジンのリストです。

  • *: この機能は既定で、最上位の閲覧コンテキストと、含まれるすべての閲覧コンテキスト (iframe) で許可されます。
  • 'self': (既定値) この機能は既定で、最上位の閲覧コンテキストと、含まれる同じオリジンの閲覧コンテキスト (iframe) で許可されます。この機能は、含まれる閲覧コンテキストにある別なオリジンの文書では許可されません。
  • 'none': この機能は最上位および含まれる閲覧コンテキストで無効になります。
  • <origin(s)>: この機能は特定のオリジン (例えば、 https://example.com) で許可されます。オリジンは空白で区切ってください。

* の値 (すべてのオリジンで有効) または 'none' (すべてのオリジンで無効) は単独でのみ使用できますが、 'self' は一つ以上のオリジンと一緒に使用することができます。

既定値は 'self' です。

一般的な例

SecureCorp Inc. は、自分自身のオリジンおよびオリジンが https://example.com のものを除いてすべての Geolocation API を無効にしたがっているとします。以下の機能ポリシーを設定する HTTP レスポンスヘッダーを配信することで実現できます。

Feature-Policy: geolocation 'self' https://example.com

<iframe> 要素と

FastCorp Inc. は、特定の <iframe> を除いたすべての別オリジンの子フレームの geolocation を無効にしたがっているとします。以下の機能ポリシーを設定する HTTP レスポンスヘッダーを配信することで実現できます。

Feature-Policy: geolocation 'self'

それから <iframe> 要素に allow 属性を含めます。

<iframe src="https://other.com/map" allow="geolocation"></iframe>

iframe の属性は、選択的に特定のフレームの機能を有効にし、その他はたとえそれらのフレームが同じオリジンからきた文書を含んでいても無効にします。

仕様書

仕様書 状態 備考
Feature Policy 編集者草案 初回定義

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
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 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mdnwebdocs-bot, mfuji09
最終更新者: mdnwebdocs-bot,