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.
CookieHug.consent
| Proprietà | Tipo | Descrizione |
|---|---|---|
consent.necessary | boolean | Sempre true — i cookie necessari non possono essere rifiutati |
consent.preferences | boolean | Indica se l'utente ha accettato i cookie di preferenze |
consent.statistics | boolean | Indica se l'utente ha accettato i cookie statistici |
consent.marketing | boolean | Indica se l'utente ha accettato i cookie di marketing |
consent.method | string | null | "explicit" se l'utente ha scelto, null se non ha ancora risposto |
Proprietà di stato
| Proprietà | Tipo | Descrizione |
|---|---|---|
CookieHug.consented | boolean | true se l'utente ha accettato cookie facoltativi |
CookieHug.declined | boolean | true se l'utente ha rifiutato tutti i cookie facoltativi |
CookieHug.hasResponse | boolean | true se l'utente ha risposto (accettato o rifiutato) |
CookieHug.doNotTrack | boolean | true 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à | Tipo | Descrizione |
|---|---|---|
regulations.gdprApplies | boolean | true se il visitatore è in Europa (area GDPR) |
regulations.ccpaApplies | boolean | true se il visitatore è negli USA (area CCPA) |
regulations.lgpdApplies | boolean | true se il visitatore è in Brasile (area LGPD) |
Esempio: leggere lo stato del consenso
// Verifica se l'utente ha già risposto
if (window.CookieHug.hasResponse) {
console.log('L\'utente ha effettuato una scelta');
if (window.CookieHug.consent.statistics) {
// È sicuro inizializzare l'analytics
initAnalytics();
}
if (window.CookieHug.consent.marketing) {
// È sicuro caricare i pixel di marketing
loadMarketingPixels();
}
}
// Verifica le normative applicabili
if (window.CookieHug.regulations.gdprApplies) {
console.log('A questo visitatore si applica il GDPR');
}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.
| Parametro | Tipo | Descrizione |
|---|---|---|
preferences | boolean | Concede o nega i cookie di preferenze |
statistics | boolean | Concede o nega i cookie statistici |
marketing | boolean | Concede 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.
| Parametro | Tipo | Descrizione |
|---|---|---|
url | string | URL dello script da caricare |
async | boolean | Se caricarlo in modo asincrono |
callback | function | Viene 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();