Dokument: hasStorageAccess()-Methode
Baseline 2023Newly 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
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. - 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. überDocument.requestStorageAccess()
) nicht angefordert werden müsste. Um dieses Problem zu umgehen, könnten SieDocument.cookie
abfragen, 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
InvalidStateError
DOMException
-
Wird ausgelöst, wenn das aktuelle
Document
noch 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
BCD tables only load in the browser