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>
要素に含めてください。
<iframe src="https://other.com/map" allow="geolocation"></iframe>
興味深いことに、 allow
属性は、同じオリジンの文書を含むフレームであっても、あるフレームでは機能を有効にし、他のフレームでは機能を無効にするという選択をすることができます。
仕様書
Specification |
---|
Geolocation # permissions-policy |
ブラウザーの互換性
BCD tables only load in the browser