Menu della documentazione

API JavaScript

L'SDK JavaScript di CookieHug: l'oggetto CookieHug, proprietà di consenso e di stato, lettura del consenso e metodi (show, hide, renew, withdraw, submit…).

Riferimento dell'SDK JavaScript

CookieHug espone un oggetto globale window.CookieHug che dà accesso allo stato del consenso, ai metodi, agli eventi e ai callback.

Proprietà di stato

ProprietàTipoDescrizione
CookieHug.consentedbooleantrue se l'utente ha accettato cookie facoltativi
CookieHug.declinedbooleantrue se l'utente ha rifiutato tutti i cookie facoltativi
CookieHug.hasResponsebooleantrue se l'utente ha risposto (accettato o rifiutato)
CookieHug.doNotTrackbooleantrue se l'impostazione Do Not Track del browser è attiva

CookieHug.regulations

La risoluzione avviene in due passaggi: (1) il fallback sul fuso orario parte subito al caricamento dello script; se viene rilevato un fuso europeo, regulations.region assume anche la pseudo-regione "EEA", così le successive chiamate a gtag('consent','default',{region}) hanno l'ambito corretto. (2) Il resolver lato server GET /api/runtime/regulations (CF-IPCountry di Cloudflare) gira in parallelo al caricamento della configurazione: quando restituisce una region, quest'ultima fa fede e sovrascrive completamente il fallback sul fuso orario (compresi tutti i flag *Applies), correggendo così i casi di VPN o di fuso incoerente.

ProprietàTipoDescrizione
regulations.gdprAppliesbooleantrue se il visitatore è in Europa (area GDPR)
regulations.ccpaAppliesbooleantrue se il visitatore è negli USA (area CCPA)
regulations.lgpdAppliesbooleantrue se il visitatore è in Brasile (area LGPD)

Metodi

CookieHug.show()

Forza la visualizzazione del banner di consenso.

CookieHug.show();

CookieHug.hide()

Nasconde il banner di consenso via codice.

CookieHug.hide();

CookieHug.renew()

Mostra di nuovo il banner perché l'utente aggiorni le sue preferenze. Ideale per un link «Impostazioni cookie».

// Esempio: link personalizzato alle impostazioni dei cookie
document.getElementById('cookie-settings')
  .addEventListener('click', function() {
    CookieHug.renew();
  });

CookieHug.withdraw()

Revoca il consenso dell'utente. Cancella tutti i dati di consenso (localStorage e cookie HTTP), riporta Google Consent Mode a denied, invia un evento consent_update al dataLayer, azzera lo stato dello ScriptBlocker e ricarica automaticamente la pagina affinché tutti gli script rispettino il nuovo stato negato.

CookieHug.withdraw();

CookieHug.submitCustomConsent(preferences, statistics, marketing)

Invia una selezione di consenso personalizzata via codice.

ParametroTipoDescrizione
preferencesbooleanConcede o nega i cookie di preferenze
statisticsbooleanConcede o nega i cookie statistici
marketingbooleanConcede o nega i cookie di marketing
// Accetta solo le statistiche, nega marketing e preferenze
CookieHug.submitCustomConsent(false, true, false);

// Accetta tutto
CookieHug.submitCustomConsent(true, true, true);

// Nega tutte le categorie facoltative
CookieHug.submitCustomConsent(false, false, false);

CookieHug.getScript(url, async, callback)

Carica dinamicamente uno script esterno. Utile per caricare script dopo che il consenso è stato concesso.

ParametroTipoDescrizione
urlstringURL dello script da caricare
asyncbooleanSe caricarlo in modo asincrono
callbackfunctionViene richiamato dopo il caricamento dello script
if (CookieHug.consent.statistics) {
  CookieHug.getScript(
    'https://www.google-analytics.com/analytics.js',
    true,
    function() {
      console.log('Analytics caricato');
    }
  );
}

CookieHug.runScripts()

Valuta ed esegue tutti i tag <script> marcati con data-cookiehug-consent che corrispondono allo stato attuale del consenso. Viene richiamato automaticamente dopo il consenso, ma può essere invocato manualmente nelle SPA dopo il caricamento di contenuti dinamici.

CookieHug.runScripts();