--- title: 'Feature-Policy:geolocation' slug: Web/HTTP/Headers/Feature-Policy/geolocation tags: - Geolocation - HTTP - HTTP レスポンスヘッダー - ヘッダー - 機能ポリシー translation_of: Web/HTTP/Headers/Feature-Policy/geolocation ---
HTTP の {{HTTPHeader("Feature-Policy")}} ヘッダーにおける geolocation
ディレクティブは、現在の文書が {{domxref('Geolocation')}} インターフェイスを使用することを許可するかどうかを制御します。このポリシーが有効であれば、 {{domxref('Geolocation.getCurrentPosition','getCurrentPosition()')}} および {{domxref('Geolocation.watchPosition','watchPosition()')}} を呼び出すと、関数のコールバックが呼び出され、 {{domxref('PositionError')}} コードが PERMISSION_DENIED
になります。
既定では、 Geolocation API は最上位の文書およびその同じオリジンの子フレームの中で使用することができます。このディレクティブは別オリジンのフレームによる位置情報へのアクセスを許可したり拒否したりします。同じオリジンのフレームも含みます。
Feature-Policy: geolocation <allowlist>;
'self'
です。SecureCorp Inc. は、自分自身のオリジンおよびオリジンが https://example.com
のものを除いてすべての Geolocation API を無効にしたがっているとします。以下の機能ポリシーを設定する HTTP レスポンスヘッダーを配信することで実現できます。
Feature-Policy: geolocation 'self' https://example.com
FastCorp Inc. は、特定の <iframe> を除いたすべての別オリジンの子フレームの geolocation
を無効にしたがっているとします。以下の機能ポリシーを設定する HTTP レスポンスヘッダーを配信することで実現できます。
Feature-Policy: geolocation 'self'
それから <iframe>
要素に {{HTMLElement('iframe','allow','#Attributes')}} 属性を含めます。
<iframe src="https://other.com/map" allow="geolocation"></iframe>
iframe の属性は、選択的に特定のフレームの機能を有効にし、その他はたとえそれらのフレームが同じオリジンからきた文書を含んでいても無効にします。
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('Feature Policy')}} | {{Spec2('Feature Policy')}} | 初回定義 |
{{Compat("http.headers.Feature-Policy.geolocation")}}