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
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:
- Der Benutzer kann aktive Browsereinstellungen haben, die Drittanbieter-Cookies blockieren; in diesem Fall kann
truezurü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. - Der Browser blockiert möglicherweise standardmäßig nicht den Zugriff auf Drittanbieter-Cookies; in diesem Fall kann
falsezurückgegeben werden, obwohl Drittanbieter-Cookies zugänglich sind und ein Speicherzugriff (z.B. überDocument.requestStorageAccess()) nicht angefordert werden müsste. Um dieses Problem zu umgehen, könnten SieDocument.cookieabfragen, um herauszufinden, ob Ihre Cookies zugänglich sind, undDocument.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
InvalidStateErrorDOMException-
Wird ausgelöst, wenn das aktuelle
Documentnoch nicht aktiv ist.
Beispiele
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
Loading…