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 API
# permissions-policy

ブラウザーの互換性

BCD tables only load in the browser

関連情報