Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

js
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 :

  1. L'utilisateur·ice peut avoir des paramètres de navigateur actifs qui bloquent les cookies tiers ; dans ce cas, true peut ê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.
  2. Le navigateur peut ne pas bloquer l'accès aux cookies tiers par défaut ; dans ce cas, false peut ê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 via Document.requestStorageAccess()). Pour contourner ce problème, vous pouvez interroger Document.cookie pour savoir si vos cookies sont accessibles, et appeler Document.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

InvalidStateError DOMException

Levée si le Document actuel n'est pas encore actif.

Exemples

js
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

Compatibilité des navigateurs

Voir aussi