Feature-Policy: geolocation

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

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

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

構文

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

この機能を許可するオリジンのリストです。 Feature-Policy を参照してください。

既定のポリシー

geolocation の既定の許可リストは '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'

それから allow 属性を <iframe> 要素に含めてください。

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

興味深いことに、 allow 属性は、同じオリジンの文書を含むフレームであっても、あるフレームでは機能を有効にし、他のフレームでは機能を無効にするという選択をすることができます。

仕様書

Specification
Geolocation
# permissions-policy

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
geolocation
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.

関連情報