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.
CookieHug.consent
| Propriété | Type | Description |
|---|---|---|
consent.necessary | boolean | Toujours true — les cookies nécessaires ne peuvent pas être refusés |
consent.preferences | boolean | Indique si l'utilisateur a accepté les cookies de préférences |
consent.statistics | boolean | Indique si l'utilisateur a accepté les cookies statistiques |
consent.marketing | boolean | Indique si l'utilisateur a accepté les cookies marketing |
consent.method | string | null | "explicit" si l'utilisateur a fait un choix, null s'il n'a pas encore répondu |
Propriétés d'état
| Propriété | Type | Description |
|---|---|---|
CookieHug.consented | boolean | true si l'utilisateur a accepté des cookies optionnels |
CookieHug.declined | boolean | true si l'utilisateur a refusé tous les cookies optionnels |
CookieHug.hasResponse | boolean | true si l'utilisateur a répondu (accepté ou refusé) |
CookieHug.doNotTrack | boolean | true 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é | Type | Description |
|---|---|---|
regulations.gdprApplies | boolean | true si le visiteur est en Europe (zone RGPD) |
regulations.ccpaApplies | boolean | true si le visiteur est aux États-Unis (zone CCPA) |
regulations.lgpdApplies | boolean | true si le visiteur est au Brésil (zone LGPD) |
Exemple : lire l'état du consentement
// Vérifier si l'utilisateur a déjà répondu
if (window.CookieHug.hasResponse) {
console.log('L\'utilisateur a fait un choix');
if (window.CookieHug.consent.statistics) {
// On peut initialiser l'analytics en toute sécurité
initAnalytics();
}
if (window.CookieHug.consent.marketing) {
// On peut charger les pixels marketing
loadMarketingPixels();
}
}
// Vérifier les réglementations applicables
if (window.CookieHug.regulations.gdprApplies) {
console.log('Le RGPD s\'applique à ce visiteur');
}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ètre | Type | Description |
|---|---|---|
preferences | boolean | Accorder ou refuser les cookies de préférences |
statistics | boolean | Accorder ou refuser les cookies statistiques |
marketing | boolean | Accorder 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ètre | Type | Description |
|---|---|---|
url | string | URL du script à charger |
async | boolean | Charger de façon asynchrone ou non |
callback | function | Appelé 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();