Dokumentationsmenu
JavaScript-API
CookieHugs JavaScript-SDK: objektet CookieHug, egenskaber for samtykke og status, aflæsning af samtykket og metoder (show, hide, renew, withdraw, submit…).
Reference for JavaScript-SDK'et
CookieHug stiller et globalt objekt window.CookieHug til rådighed, som giver adgang til samtykkestatus, metoder, hændelser og callbacks.
CookieHug.consent
| Egenskab | Type | Beskrivelse |
|---|---|---|
consent.necessary | boolean | Altid true — nødvendige cookies kan ikke afvises |
consent.preferences | boolean | Om brugeren har accepteret præferencecookies |
consent.statistics | boolean | Om brugeren har accepteret statistikcookies |
consent.marketing | boolean | Om brugeren har accepteret markedsføringscookies |
consent.method | string | null | "explicit", hvis brugeren har truffet et valg, null, hvis der endnu ikke er svaret |
Statusegenskaber
| Egenskab | Type | Beskrivelse |
|---|---|---|
CookieHug.consented | boolean | true, hvis brugeren har accepteret valgfrie cookies |
CookieHug.declined | boolean | true, hvis brugeren har afvist alle valgfrie cookies |
CookieHug.hasResponse | boolean | true, hvis brugeren har svaret (accepteret eller afvist) |
CookieHug.doNotTrack | boolean | true, hvis browserens Do Not Track-indstilling er slået til |
CookieHug.regulations
Løsningen sker i to trin: (1) tidszone-fallbacket kører straks ved indlæsning af scriptet; opdages en europæisk tidszone, sættes regulations.region desuden til pseudoregionen "EEA", så efterfølgende kald til gtag('consent','default',{region}) får det rigtige omfang. (2) Serverresolveren GET /api/runtime/regulations (Cloudflares CF-IPCountry) kører parallelt med indlæsningen af konfigurationen — returnerer den en region, er den autoritativ og overskriver tidszone-fallbacket fuldstændigt (inklusive alle *Applies-flag), så VPN- og tidszonefejl rettes.
| Egenskab | Type | Beskrivelse |
|---|---|---|
regulations.gdprApplies | boolean | true, hvis den besøgende er i Europa (GDPR-området) |
regulations.ccpaApplies | boolean | true, hvis den besøgende er i USA (CCPA-området) |
regulations.lgpdApplies | boolean | true, hvis den besøgende er i Brasilien (LGPD-området) |
Eksempel: læs samtykkestatus
// Tjek, om brugeren allerede har svaret
if (window.CookieHug.hasResponse) {
console.log('Brugeren har truffet et valg');
if (window.CookieHug.consent.statistics) {
// Det er sikkert at starte analytics
initAnalytics();
}
if (window.CookieHug.consent.marketing) {
// Det er sikkert at indlæse markedsføringspixels
loadMarketingPixels();
}
}
// Tjek gældende regler
if (window.CookieHug.regulations.gdprApplies) {
console.log('GDPR gælder for denne besøgende');
}Metoder
CookieHug.show()
Fremtvinger visning af samtykkebanneret.
CookieHug.show();CookieHug.hide()
Skjuler samtykkebanneret programmatisk.
CookieHug.hide();CookieHug.renew()
Viser banneret igen, så brugeren kan ændre sine valg. Ideelt til et link med «Cookieindstillinger».
// Eksempel: eget link til cookieindstillinger
document.getElementById('cookie-settings')
.addEventListener('click', function() {
CookieHug.renew();
});CookieHug.withdraw()
Trækker brugerens samtykke tilbage. Alle samtykkedata slettes (localStorage og HTTP-cookie), Google Consent Mode sættes tilbage til denied, en consent_update-hændelse sendes til dataLayer, ScriptBlockerens tilstand nulstilles, og siden genindlæses automatisk, så alle scripts respekterer den nye afviste tilstand.
CookieHug.withdraw();CookieHug.submitCustomConsent(preferences, statistics, marketing)
Indsender et eget samtykkevalg programmatisk.
| Parameter | Type | Beskrivelse |
|---|---|---|
preferences | boolean | Tillad eller afvis præferencecookies |
statistics | boolean | Tillad eller afvis statistikcookies |
marketing | boolean | Tillad eller afvis markedsføringscookies |
// Accepter kun statistik, afvis markedsføring og præferencer
CookieHug.submitCustomConsent(false, true, false);
// Accepter alt
CookieHug.submitCustomConsent(true, true, true);
// Afvis alle valgfrie kategorier
CookieHug.submitCustomConsent(false, false, false);CookieHug.getScript(url, async, callback)
Indlæser et eksternt script dynamisk. Praktisk til at hente scripts, når samtykket er givet.
| Parameter | Type | Beskrivelse |
|---|---|---|
url | string | URL på scriptet, der skal indlæses |
async | boolean | Om det skal indlæses asynkront |
callback | function | Kaldes, når scriptet er indlæst |
if (CookieHug.consent.statistics) {
CookieHug.getScript(
'https://www.google-analytics.com/analytics.js',
true,
function() {
console.log('Analytics indlæst');
}
);
}CookieHug.runScripts()
Gennemgår og kører alle <script>-tags markeret med data-cookiehug-consent, som passer til den aktuelle samtykkestatus. Kaldes automatisk efter samtykket, men kan kaldes manuelt i SPA'er, når nyt indhold er hentet.
CookieHug.runScripts();