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.

Statusegenskaber

EgenskabTypeBeskrivelse
CookieHug.consentedbooleantrue, hvis brugeren har accepteret valgfrie cookies
CookieHug.declinedbooleantrue, hvis brugeren har afvist alle valgfrie cookies
CookieHug.hasResponsebooleantrue, hvis brugeren har svaret (accepteret eller afvist)
CookieHug.doNotTrackbooleantrue, 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.

EgenskabTypeBeskrivelse
regulations.gdprAppliesbooleantrue, hvis den besøgende er i Europa (GDPR-området)
regulations.ccpaAppliesbooleantrue, hvis den besøgende er i USA (CCPA-området)
regulations.lgpdAppliesbooleantrue, hvis den besøgende er i Brasilien (LGPD-området)

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.

ParameterTypeBeskrivelse
preferencesbooleanTillad eller afvis præferencecookies
statisticsbooleanTillad eller afvis statistikcookies
marketingbooleanTillad 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.

ParameterTypeBeskrivelse
urlstringURL på scriptet, der skal indlæses
asyncbooleanOm det skal indlæses asynkront
callbackfunctionKaldes, 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();