Document: 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 der Document
-Schnittstelle gibt ein Promise
zurück, das mit einem booleschen Wert aufgelöst wird, der angibt, ob das Dokument Zugriff auf Third-Party- und nicht partitionierte Cookies hat.
Diese Methode ist Teil der Storage Access API.
Hinweis: Diese Methode ist ein anderer Name für Document.hasUnpartitionedCookieAccess()
. Derzeit gibt es keine Pläne, diese Methode zugunsten von Document.hasUnpartitionedCookieAccess()
zu entfernen.
Syntax
hasStorageAccess()
Parameter
Keine.
Rückgabewert
Ein Promise
, das mit einem booleschen Wert aufgelöst wird, der angibt, ob das Dokument Zugriff auf Third-Party-Cookies hat — true
, wenn es dies tut, und false
, wenn nicht.
Das von dieser Methode zurückgegebene Ergebnis kann in einigen Fällen ungenau sein:
- Der Benutzer hat möglicherweise aktive Browsereinstellungen, die Third-Party-Cookies blockieren; in diesem Fall kann
true
zurückgegeben werden, obwohl Third-Party-Cookies weiterhin unzugänglich sind. Um eine solche Situation zu bewältigen, sollten Sie mögliche Fehler in der Art abfangen, dass Cookie-Werte nicht abgerufen werden können; informieren Sie beispielsweise den Nutzer, dass der Zugriff auf die personalisierten Einstellungen blockiert ist, und laden Sie ihn ein, sich erneut anzumelden, um sie zu nutzen. - Der Browser blockiert möglicherweise standardmäßig keinen Zugriff auf Third-Party-Cookies; in diesem Fall kann
false
zurückgegeben werden, obwohl Third-Party-Cookies zugänglich sind und ein Speicherzugriff nicht angefordert werden muss (d.h. überDocument.requestStorageAccess()
). Um dieses Problem zu umgehen, könnten SieDocument.cookie
abfragen, um herauszufinden, ob Ihre Cookies zugänglich sind, undDocument.requestStorageAccess()
aufrufen, wenn dies nicht der Fall ist.
Hinweis: Wenn das Promise aufgelöst wird und ein Benutzeraktionsevent bearbeitet wird, wenn die Funktion ursprünglich aufgerufen wurde, wird der Resolve-Handler so ausgeführt, als ob ein Benutzeraktionsevent verarbeitet wird. Somit können APIs aufgerufen werden, 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: Siehe 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