Разрешения: метод revoke()
Примечание: Эта функция доступна в Веб-воркерах.
Устаревшая функция: Эта функция больше не рекомендуется. Хотя некоторые браузеры могут её всё ещё поддерживать, она может быть уже удалена из соответствующих веб-стандартов, может быть в процессе удаления или поддерживаться только для совместимости. Избегайте её использования и, если возможно, обновите существующий код; обратитесь к таблице совместимости внизу этой страницы, чтобы принять решение. Помните, что эта функция может перестать работать в любой момент.
Метод revoke() интерфейса Permissions отменяет текущее разрешение, возвращая его к исходному состоянию, которое обычно prompt. Этот метод вызывается на глобальном объекте Permissions объекта navigator.permissions.
Этот метод удален из основного спецификации API разрешений, поскольку его целевое применение не ясно. Разрешения управляются браузером, и текущая модель разрешений не позволяет разработчику сайта императивно запрашивать или отменять разрешения. Браузеры добавили этот API с ограничениями, но маловероятно, что он достигнет стандарта. Для более подробной информации см. исходную дискуссию об удалении permissions.revoke().
Синтаксис
revoke(permissionDescriptor)
Параметры
permissionDescriptor-
Объект, устанавливающий параметры для операции
revoke. Доступные параметры для этого дескриптора зависят от типа разрешения.Все разрешения имеют имя:
name-
Строка, содержащая имя API, разрешения которого вы хотите запросить. Возвращаемый
Promiseбудет отклонен сTypeError, если имя разрешения не поддерживается браузером.
Для разрешений
pushвы также можете указать:userVisibleOnlyНеобязательный-
(Только для Push, не поддерживается в Firefox — см. раздел Поддержка браузеров ниже) Указывает, хотите ли вы отображать уведомление для каждого сообщения или отправлять тихие push-уведомления. По умолчанию
false.
Для разрешения
midiвы также можете указать:sysexНеобязательный-
Указывает, нужен ли вам и/или получаете ли вы системные эксклюзивные сообщения. По умолчанию
false.
Возвращаемое значение
A Promise, который вызывает обработчик выполнения с объектом PermissionStatus, указывающим результат запроса.
Исключения
TypeError-
Получение информации о
PermissionDescriptorне удалось по каким-либо причинам, или разрешение не существует или в настоящее время не поддерживается (например,midi, илиpushсuserVisibleOnly).
Примеры
Эта функция может использоваться приложением для запроса отмены собственного разрешения API геолокации.
function revokePermission() {
navigator.permissions.revoke({ name: "geolocation" }).then((result) => {
report(result.state);
});
}
Спецификации
| Спецификация |
|---|
| Отмена Разрешений # dom-permissions-revoke |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
revoke |
46 | 79 | 5147–51 | 33 | Нет | 46 | 47–51 | Нет | Нет | Нет | Нет |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Permissions/revoke