--- title: 'Feature-Policy:geolocation' slug: Web/HTTP/Headers/Feature-Policy/geolocation tags: - Geolocation - HTTP - HTTP レスポンスヘッダー - ヘッダー - 機能ポリシー translation_of: Web/HTTP/Headers/Feature-Policy/geolocation ---
{{HTTPSidebar}} {{SeeCompatTable}}

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>;
<allowlist>
{{page("/ja/docs/Web/HTTP/Feature_Policy/Using_Feature_Policy", "allowlist")}}既定値は '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'

それから <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")}}

関連情報