Menú de documentación
API de JavaScript
El SDK de JavaScript de CookieHug: el objeto CookieHug, propiedades de consentimiento y de estado, lectura del consentimiento y métodos (show, hide, renew, withdraw, submit…).
Referencia del SDK de JavaScript
CookieHug expone un objeto global window.CookieHug que da acceso al estado del consentimiento, a los métodos, a los eventos y a los callbacks.
CookieHug.consent
| Propiedad | Tipo | Descripción |
|---|---|---|
consent.necessary | boolean | Siempre true: las cookies necesarias no se pueden rechazar |
consent.preferences | boolean | Si el usuario aceptó las cookies de preferencias |
consent.statistics | boolean | Si el usuario aceptó las cookies estadísticas |
consent.marketing | boolean | Si el usuario aceptó las cookies de marketing |
consent.method | string | null | "explicit" si el usuario decidió, null si aún no hay respuesta |
Propiedades de estado
| Propiedad | Tipo | Descripción |
|---|---|---|
CookieHug.consented | boolean | true si el usuario aceptó alguna cookie opcional |
CookieHug.declined | boolean | true si el usuario rechazó todas las cookies opcionales |
CookieHug.hasResponse | boolean | true si el usuario ya respondió (aceptó o rechazó) |
CookieHug.doNotTrack | boolean | true si el ajuste Do Not Track del navegador está activado |
CookieHug.regulations
Se resuelve en dos pasos: (1) el fallback por zona horaria se ejecuta de inmediato al cargar el script; si se detecta una zona horaria europea, regulations.region toma además la pseudorregión "EEA" para que las llamadas posteriores a gtag('consent','default',{region}) tengan el alcance correcto. (2) El resolutor del servidor GET /api/runtime/regulations (CF-IPCountry de Cloudflare) se ejecuta en paralelo con la carga de la configuración: cuando devuelve una region, esta es autoritativa y sobrescribe por completo el fallback de zona horaria (incluidos todos los indicadores *Applies), de modo que se corrigen los casos de VPN o de zona horaria discordante.
| Propiedad | Tipo | Descripción |
|---|---|---|
regulations.gdprApplies | boolean | true si el visitante está en Europa (región del RGPD) |
regulations.ccpaApplies | boolean | true si el visitante está en EE. UU. (región de la CCPA) |
regulations.lgpdApplies | boolean | true si el visitante está en Brasil (región de la LGPD) |
Ejemplo: leer el estado del consentimiento
// Comprobar si el usuario ya ha respondido
if (window.CookieHug.hasResponse) {
console.log('El usuario ha tomado una decisión');
if (window.CookieHug.consent.statistics) {
// Es seguro inicializar la analítica
initAnalytics();
}
if (window.CookieHug.consent.marketing) {
// Es seguro cargar los píxeles de marketing
loadMarketingPixels();
}
}
// Comprobar las normativas aplicables
if (window.CookieHug.regulations.gdprApplies) {
console.log('A este visitante se le aplica el RGPD');
}Métodos
CookieHug.show()
Fuerza la aparición del banner de consentimiento.
CookieHug.show();CookieHug.hide()
Oculta el banner de consentimiento mediante código.
CookieHug.hide();CookieHug.renew()
Muestra el banner para que el usuario actualice sus preferencias. Ideal para un enlace «Configuración de cookies».
// Ejemplo: enlace propio a la configuración de cookies
document.getElementById('cookie-settings')
.addEventListener('click', function() {
CookieHug.renew();
});CookieHug.withdraw()
Retira el consentimiento del usuario. Borra todos los datos de consentimiento (localStorage y cookie HTTP), restablece Google Consent Mode a denied, envía un evento consent_update al dataLayer, reinicia el estado del ScriptBlocker y recarga la página automáticamente para que todos los scripts respeten el nuevo estado denegado.
CookieHug.withdraw();CookieHug.submitCustomConsent(preferences, statistics, marketing)
Envía una selección de consentimiento personalizada mediante código.
| Parámetro | Tipo | Descripción |
|---|---|---|
preferences | boolean | Conceder o denegar las cookies de preferencias |
statistics | boolean | Conceder o denegar las cookies estadísticas |
marketing | boolean | Conceder o denegar las cookies de marketing |
// Aceptar solo estadísticas, denegar marketing y preferencias
CookieHug.submitCustomConsent(false, true, false);
// Aceptar todo
CookieHug.submitCustomConsent(true, true, true);
// Denegar todas las opcionales
CookieHug.submitCustomConsent(false, false, false);CookieHug.getScript(url, async, callback)
Carga un script externo de forma dinámica. Útil para cargar scripts una vez otorgado el consentimiento.
| Parámetro | Tipo | Descripción |
|---|---|---|
url | string | URL del script que se va a cargar |
async | boolean | Si debe cargarse de forma asíncrona |
callback | function | Se ejecuta después de cargar el script |
if (CookieHug.consent.statistics) {
CookieHug.getScript(
'https://www.google-analytics.com/analytics.js',
true,
function() {
console.log('Analítica cargada');
}
);
}CookieHug.runScripts()
Evalúa y ejecuta todas las etiquetas <script> marcadas con data-cookiehug-consent que coincidan con el estado actual del consentimiento. Se llama automáticamente tras otorgar el consentimiento, pero puedes invocarlo a mano en aplicaciones SPA después de cargar contenido dinámico.
CookieHug.runScripts();