Document : méthode hasStorageAccess()
Baseline
2023
Newly available
Depuis December 2023, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
La méthode hasStorageAccess() de l'interface Document retourne une promesse (Promise) qui se résout avec une valeur booléenne indiquant si le document a accès aux cookies tiers et aux cookies non partitionnés.
Cette méthode fait partie de l'API Storage Access.
Note :
Cette méthode est un autre nom pour Document.hasUnpartitionedCookieAccess(). Il n'y a actuellement aucun plan pour supprimer cette méthode au profit de Document.hasUnpartitionedCookieAccess().
Syntaxe
hasStorageAccess()
Paramètres
Aucun.
Valeur de retour
Une promesse (Promise) qui se résout avec une valeur booléenne indiquant si le document a accès aux cookies tiers — true si c'est le cas, et false sinon.
Le résultat retourné par cette méthode peut être inexact dans certaines circonstances :
- L'utilisateur·ice peut avoir des paramètres de navigateur actifs qui bloquent les cookies tiers ; dans ce cas,
truepeut être retourné même si les cookies tiers restent inaccessibles. Pour gérer une telle situation, vous devez gérer avec souplesse toute erreur résultant de valeurs de cookies non récupérables ; par exemple, informer l'utilisateur·ice que l'accès à ses paramètres personnalisés est bloqué et l'inviter à se connecter à nouveau pour les utiliser. - Le navigateur peut ne pas bloquer l'accès aux cookies tiers par défaut ; dans ce cas,
falsepeut être retourné même si les cookies tiers sont accessibles, et l'accès au stockage n'aurait pas besoin d'être demandé (c'est-à-dire viaDocument.requestStorageAccess()). Pour contourner ce problème, vous pouvez interrogerDocument.cookiepour savoir si vos cookies sont accessibles, et appelerDocument.requestStorageAccess()s'ils ne le sont pas.
Note : Si la promesse est résolue et qu'un évènement de geste utilisateur·ice était en cours de traitement lorsque la fonction a été appelée à l'origine, le gestionnaire de résolution s'exécutera comme si un geste utilisateur·ice était en cours de traitement, il pourra donc appeler des API qui nécessitent une activation par l'utilisateur·ice.
Exceptions
InvalidStateErrorDOMException-
Levée si le
Documentactuel n'est pas encore actif.
Exemples
document.hasStorageAccess().then((hasAccess) => {
if (hasAccess) {
// l'accès au stockage a déjà été accordé.
console.log("accès aux cookies accordé");
} else {
// l'accès au stockage n'a pas encore été accordé ;
// vous pouvez appeler requestStorageAccess().
console.log("accès aux cookies refusé");
}
});
Note : Voir Utiliser l'API Storage Access pour un exemple plus complet.
Spécifications
| Specification |
|---|
| The Storage Access API> # dom-document-hasstorageaccess> |