Menu de la documentation

API JavaScript

Le SDK JavaScript CookieHug : l'objet CookieHug, propriétés de consentement et d'état, lecture du consentement et méthodes (show, hide, renew, withdraw, submit…).

Référence du SDK JavaScript

CookieHug expose un objet global window.CookieHug qui donne accès à l'état du consentement, aux méthodes, aux événements et aux callbacks.

Propriétés d'état

PropriétéTypeDescription
CookieHug.consentedbooleantrue si l'utilisateur a accepté des cookies optionnels
CookieHug.declinedbooleantrue si l'utilisateur a refusé tous les cookies optionnels
CookieHug.hasResponsebooleantrue si l'utilisateur a répondu (accepté ou refusé)
CookieHug.doNotTrackbooleantrue si le réglage Do Not Track du navigateur est activé

CookieHug.regulations

La résolution se fait en deux temps : (1) le repli par fuseau horaire s'exécute immédiatement au chargement du script ; lorsqu'un fuseau européen est détecté, regulations.region prend en plus la pseudo-région "EEA" afin que les appels ultérieurs à gtag('consent','default',{region}) aient la bonne portée. (2) Le résolveur serveur GET /api/runtime/regulations (CF-IPCountry de Cloudflare) s'exécute en parallèle du chargement de la configuration : lorsqu'il renvoie une region, celle-ci fait autorité et écrase entièrement le repli par fuseau horaire (y compris tous les indicateurs *Applies), ce qui corrige les cas de VPN ou de fuseau incohérent.

PropriétéTypeDescription
regulations.gdprAppliesbooleantrue si le visiteur est en Europe (zone RGPD)
regulations.ccpaAppliesbooleantrue si le visiteur est aux États-Unis (zone CCPA)
regulations.lgpdAppliesbooleantrue si le visiteur est au Brésil (zone LGPD)

Méthodes

CookieHug.show()

Force l'affichage de la bannière de consentement.

CookieHug.show();

CookieHug.hide()

Masque la bannière de consentement par programmation.

CookieHug.hide();

CookieHug.renew()

Réaffiche la bannière pour que l'utilisateur modifie ses préférences. Idéal pour un lien « Paramètres des cookies ».

// Exemple : lien personnalisé vers les paramètres des cookies
document.getElementById('cookie-settings')
  .addEventListener('click', function() {
    CookieHug.renew();
  });

CookieHug.withdraw()

Retire le consentement de l'utilisateur. Cette méthode efface toutes les données de consentement (localStorage et cookie HTTP), remet Google Consent Mode sur denied, pousse un événement consent_update dans le dataLayer, réinitialise l'état du ScriptBlocker et recharge automatiquement la page afin que tous les scripts respectent le nouvel état refusé.

CookieHug.withdraw();

CookieHug.submitCustomConsent(preferences, statistics, marketing)

Envoie une sélection de consentement personnalisée par programmation.

ParamètreTypeDescription
preferencesbooleanAccorder ou refuser les cookies de préférences
statisticsbooleanAccorder ou refuser les cookies statistiques
marketingbooleanAccorder ou refuser les cookies marketing
// Accepter uniquement les statistiques, refuser marketing et préférences
CookieHug.submitCustomConsent(false, true, false);

// Tout accepter
CookieHug.submitCustomConsent(true, true, true);

// Refuser tout ce qui est optionnel
CookieHug.submitCustomConsent(false, false, false);

CookieHug.getScript(url, async, callback)

Charge dynamiquement un script externe. Pratique pour charger des scripts une fois le consentement accordé.

ParamètreTypeDescription
urlstringURL du script à charger
asyncbooleanCharger de façon asynchrone ou non
callbackfunctionAppelé après le chargement du script
if (CookieHug.consent.statistics) {
  CookieHug.getScript(
    'https://www.google-analytics.com/analytics.js',
    true,
    function() {
      console.log('Analytics chargé');
    }
  );
}

CookieHug.runScripts()

Évalue et exécute toutes les balises <script> marquées par data-cookiehug-consent qui correspondent à l'état actuel du consentement. Appelée automatiquement après l'obtention du consentement, elle peut aussi être invoquée manuellement dans les SPA après le chargement de contenu dynamique.

CookieHug.runScripts();