Dokument: hasStorageAccess()-Methode

Baseline 2023
Newly available

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die hasStorageAccess()-Methode des Document-Interfaces gibt ein Promise zurück, das sich mit einem boolean Wert auflöst, der angibt, ob das Dokument Zugriff auf Drittanbieter-, nicht partitionierte Cookies hat.

Diese Methode ist Teil der Storage Access API.

Hinweis: Diese Methode ist ein anderer Name für Document.hasUnpartitionedCookieAccess(). Es gibt keine aktuellen Pläne, diese Methode zugunsten von Document.hasUnpartitionedCookieAccess() zu entfernen.

Syntax

js
hasStorageAccess()

Parameter

Keine.

Rückgabewert

Ein Promise, das sich mit einem boolean Wert auflöst, der angibt, ob das Dokument Zugriff auf Drittanbieter-Cookies hat — true, wenn dies der Fall ist, und false, wenn nicht.

Das von dieser Methode zurückgegebene Ergebnis kann in einigen Fällen ungenau sein:

  1. Der Benutzer kann aktive Browsereinstellungen haben, die Drittanbieter-Cookies blockieren; in diesem Fall kann true zurückgegeben werden, obwohl Drittanbieter-Cookies weiterhin unzugänglich sind. Um eine solche Situation zu handhaben, sollten Sie mögliche Fehler, die dazu führen, dass Cookie-Werte nicht abrufbar sind, elegant behandeln; informieren Sie den Benutzer beispielsweise, dass der Zugriff auf ihre personalisierten Einstellungen blockiert ist, und laden Sie ihn ein, sich erneut anzumelden, um diese zu nutzen.
  2. Der Browser blockiert möglicherweise standardmäßig nicht den Zugriff auf Drittanbieter-Cookies; in diesem Fall kann false zurückgegeben werden, obwohl Drittanbieter-Cookies zugänglich sind und ein Speicherzugriff (z.B. über Document.requestStorageAccess()) nicht angefordert werden müsste. Um dieses Problem zu umgehen, könnten Sie Document.cookie abfragen, um herauszufinden, ob Ihre Cookies zugänglich sind, und Document.requestStorageAccess() aufrufen, wenn sie es nicht sind.

Hinweis: Wenn das Promise aufgelöst wird und ein Benutzeraktionsereignis bearbeitet wurde, als die Funktion ursprünglich aufgerufen wurde, wird der Resolve-Handler so ausgeführt, als ob ein Benutzeraktionsereignis bearbeitet wurde. Dadurch kann er APIs aufrufen, die eine Benutzeraktivierung erfordern.

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn das aktuelle Document noch nicht aktiv ist.

Beispiele

js
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");
  }
});

Hinweis: Sehen Sie Verwenden der Storage Access API für ein vollständigeres Beispiel.

Spezifikationen

Specification
The Storage Access API
# dom-document-hasstorageaccess

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch