Spec-Zone.ru › Web APIs

Документ: метод hasStorageAccess()

Базовая версия 2023
Новое

С декабря 2023 года эта функция работает на последних устройствах и версиях браузеров. Эта функция может не работать на старых устройствах или браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Метод hasStorageAccess() интерфейса Document возвращает Promise, который разрешается булевым значением, указывающим, имеет ли документ доступ к сторонним неразделенным cookie.

Этот метод является частью API доступа к хранилищу.

Примечание: Этот метод — другое название для Document.hasUnpartitionedCookieAccess(). В настоящее время нет планов удалить этот метод в пользу Document.hasUnpartitionedCookieAccess().

Синтаксис

hasStorageAccess()

Параметры

Нет.

Возвращаемое значение

Promise, который разрешается булевым значением, указывающим, имеет ли документ доступ к cookie третьих сторон — true в случае наличия доступа и false в противном случае.

Результат, возвращаемый этим методом, может быть неточным в нескольких случаях:

  1. Пользователь может иметь активные настройки браузера, блокирующие cookie третьих сторон; в этом случае может быть возвращено true, даже если доступ к cookie третьих сторон по-прежнему недоступен. Для обработки такой ситуации следует корректно обрабатывать любые ошибки, приводящие к невозможности получения значений cookie; например, сообщить пользователю, что доступ к его персонализированным настройкам заблокирован, и предложить ему снова войти в систему, чтобы использовать их.
  2. Браузер может не блокировать доступ к cookie третьих сторон по умолчанию; в этом случае может быть возвращено false, даже если доступ к cookie третьих сторон доступен, и запрос доступа к хранилищу не нужен (т.е., через Document.requestStorageAccess()). Чтобы обойти эту проблему, можно запросить Document.cookie, чтобы узнать, доступны ли ваши cookie, и вызвать Document.requestStorageAccess(), если они недоступны.

Примечание: Если обещание разрешается и в момент вызова функции обрабатывалось событие пользовательского жеста, обработчик разрешения будет выполняться как если бы обрабатывался пользовательский жест, поэтому он сможет вызывать API, которые требуют активации пользователя.

Исключения

InvalidStateError DOMException

Выбрасывается, если текущий Document еще не активен.

Примеры

document.hasStorageAccess().then((hasAccess) => {
  if (hasAccess) {
    // storage access has been granted already.
    console.log("cookie access granted");
  } else {
    // storage access hasn't been granted already;
    // you may want to call requestStorageAccess().
    console.log("cookie access denied");
  }
});

Примечание: См. Использование API доступа к хранилищу для более полного примера.

Спецификации

Спецификация
API доступа к хранилищу
# dom-document-hasstorageaccess

Совместимость с браузерами

Рабочий стол Мобильное устройство
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
hasStorageAccess 119 85 65 105 11.1 120 65 80 11.3 25.0 120

См. также

  • Document.hasUnpartitionedCookieAccess(), Document.requestStorageAccess(), Document.requestStorageAccessFor()
  • Использование API доступа к хранилищу
  • Введение в API доступа к хранилищу (блог WebKit)

© 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/Document/hasStorageAccess

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API