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