Заголовки: Permissions-Policy.geolocation
Директива geolocation заголовка Permissions-Policy
Ограниченная доступность
Эта функция не входит в Baseline, поскольку она не работает в некоторых наиболее широко используемых браузерах.
Экспериментальная функция: Это экспериментальная технология
Перед использованием в production внимательно ознакомьтесь с таблицей совместимости браузеров.
Директива geolocation заголовка HTTP Permissions-Policy управляет тем, разрешено ли текущему документу использовать интерфейс Geolocation.
В частности, если определённая политика блокирует использование этой функции, вызовы getCurrentPosition() и watchPosition() приведут к вызову соответствующих функций обратного вызова с кодом GeolocationPositionError PERMISSION_DENIED.
Синтаксис
Permissions-Policy: geolocation=<allowlist>;
<allowlist>-
Список источников, которым разрешено использовать эту функцию. Подробнее см. в разделе
Permissions-Policy> Синтаксис.
Политика по умолчанию
Список разрешённых источников по умолчанию для geolocation — self. Контекст просмотра верхнего уровня и iframe с тем же источником по умолчанию имеют доступ к функции geolocation.
Примеры
>Основное использование
Компания SecureCorp Inc. хочет запретить geolocation во всех iframe с отличным от исходного источником, кроме тех, источник которых — https://example.com. Для этого она может отправить следующий заголовок HTTP-ответа, задающий политику разрешений:
Permissions-Policy: geolocation=(self "https://example.com")
Компания SecureCorp Inc. также должна добавить атрибут allow к каждому элементу <iframe>, в котором должна быть разрешена функция geolocation:
<iframe src="https://example.com/map" allow="geolocation"></iframe>
Примечание: Указание заголовка Permissions-Policy таким образом запрещает geolocation для других источников, даже если они разрешены атрибутом <iframe> allow.
Использование политики по умолчанию
Если список разрешённых источников для geolocation не задан заголовком ответа Permissions-Policy, пользовательские агенты применят список разрешённых источников по умолчанию self. В этом режиме geolocation автоматически разрешена в контексте просмотра верхнего уровня и iframe с тем же источником, но не в iframe с отличным от исходного источником.
Чтобы разрешить geolocation в iframe с отличным от исходного источником, добавьте атрибут allow к элементу <iframe>:
<iframe src="https://other.com/store-locator" allow="geolocation"></iframe>
Спецификации
| Спецификация |
|---|
| Geolocation> # permissions-policy> |
Совместимость с браузерами
| Для компьютеров | Для мобильных устройств | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari для iOS | Samsung Internet | WebView Android | WebView для iOS | |
geolocation |
88 | 88 | Нет | 74 | Нет | 88 | Нет | 63 | Нет | 15.0 | 88 | Нет |
См. также
-
Заголовок
Permissions-Policy - Политика разрешений
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Permissions-Policy/geolocation