Info
Content

CMP-evenementen

Om meldingen te krijgen wanneer bepaalde gebeurtenissen plaatsvinden, kunt u de volgende JavaScript-methoden gebruiken:

  • __cmp("addEventListener",["eventname",callableFunction,capture],null)
  • __cmp("removeEventListener",["eventname",callableFunction,capture],null)
  • __tcfapi("addEventListener",2, callableFunction)
  • __tcfapi("removeEventListener",2, callableFunction, listenerId)

De CMP kan de volgende evenementen oproepen:

Event

Omschrijving

init

CMP-code wordt geladen en de stub-code is verwijderd. In dit stadium heeft de CMP nog geen informatie over de toestemming.

settings

CMP heeft de instellingen geladen. Als er al een toestemmingsreeks bestond, kunnen de toestemmingsgegevens nu worden gelezen uit de CMP.

consentscreen

CMP toont het toestemmingsscherm

consentscreenoff

CMP verwijdert het toestemmingsscherm

consentscreencustom

CMP toont de pagina met aangepaste keuzes

consent

CMP heeft toestemming verkregen of er is een reeds bestaande cookie gevonden. Toestemmingsgegevens kunnen nu worden gelezen uit de CMP.

consentapproved

Bezoeker gaf positieve toestemming aan alle leveranciers / doeleinden

consentrejected

Bezoeker heeft alle leveranciers en doeleinden afgewezen

consentcustom

Bezoeker gaf aangepaste toestemming (accepteert en weigert)

liestablished

Toestemmingsscherm wordt weergegeven, er is een legitiem belang vastgesteld voor deze bezoeker.

vendorconsent

Bezoeker accepteerde een dynamisch inhoudsitem. De leverancier-ID van het geaccepteerde artikel is te vinden in de subtype variabele.

gpp

Diverse evenementen voor de IAB GPP-standaard

tcfv2

Diverse events voor de IAB TCF standaard

loadShowing

Zodra het laden is voltooid (zie event settings) en het systeem heeft besloten om de conesnt-laag weer te geven.

loadNotShowing

Zodra het laden is voltooid (zie event settings) en het systeem heeft daartoe besloten niet toon de conesnt-laag.

Event handler wordt gedefinieerd als:

var handler = function (eventname, cmpobject, subtype){…} 

Waarschuwing: Gebruik geen cmpobject niet meer. De functie is verouderd. Gebruik in plaats daarvan API-aanroepen.

Voorbeeld:

<script>
  function getInfos(e,o)
  {     
    var result = __cmp('getCMPData');
    /*... do something with result ...*/
  }
  __cmp("addEventListener",["consent",getInfos,false],null);
</script>

Houd er rekening mee dat de opdracht IAB TCF v2 addEventListener alleen reageert op een subset van gebeurtenissen.

Voorbeelden

De bezoeker omleiden naar een andere website als er geen toestemming wordt gegeven

Houd er rekening mee dat dit gedrag niet wordt aanbevolen en juridische problemen kan veroorzaken!

<script>
  function getInfos(e,o)
  { 
    location.href = "https://www.mywebsite.com/alternative-content.html";
  }
  __cmp("addEventListener",["consentrejected",getInfos,false],null);
</script>

Een bericht weergeven als de bezoeker heeft geweigerd

<div id="mymessage" style="display:none; position:fixed; left:calc(50% - 300px); top:calc(50% - 200px); width:600px; height:400px; background-color: #fff0c7; padding: 20px; box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);"><b>Please consider</b><br>Our website is mainly financed by online advertising. Without consent we will not be able to show you tailored ads and our ad revenue will be much lower. As we respect your choice we like to ask you, if you maybe like to donate 1 EUR instead? This will help us keep the quality of our service up.<br>
<br>
  <a href="donate.html"><b>Donate 1 EUR now!</b></a><br>
<br>
  <a href="#" onclick="document.getElementById('mymessage').style.display = 'none';">No, thanks!</a>
</div>
<script>
  function getInfos(e,o){ document.getElementById('mymessage').style.display = 'block';}
  __cmp("addEventListener",["consentrejected",getInfos,false],null);
</script>

De pagina-inhoud naar beneden duwen wanneer de toestemmingslaag wordt geopend

<script>
 var iscmpopen = false;

 function handleSize()
 {
  if(iscmpopen)
  {
   document.body.style.paddingTop = document.getElementById('cmpbox').offsetHeight + 'px';
  }
  else
  {
   document.body.style.paddingTop = 'inherit';
  }
 }

 function pushDown(e, o)
 {
  iscmpopen = true;
  handleSize();
 }

 function pushUp(e, o)
 {
  iscmpopen = false;
  handleSize();
 }

 window.addEventListener('resize', handleSize, false);
 window.addEventListener('load', handleSize, false);

 __cmp('addEventListener', ['consentscreen', pushDown, false], null);
 __cmp('addEventListener', ['consentscreenoff', pushUp, false], null);
</script>
Terug naar boven