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

"in het"

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

"instellingen" / "cnf"

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

"toestemmingsscherm"

CMP toont het toestemmingsscherm

"toestemmingsscherm"

CMP verwijdert het toestemmingsscherm

"toestemming"

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

"toestemming goedgekeurd"

Bezoeker gaf positieve toestemming aan alle leveranciers / doeleinden

"toestemming afgewezen"

Bezoeker heeft alle leveranciers en doeleinden afgewezen

"toestemming op maat"

Bezoeker gaf aangepaste toestemming (accepteert en weigert)

"gevestigd"

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.

Event handler wordt gedefinieerd als:

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

Voorbeeld:

<script>
  function getInfos(e,o)
  { 
    /*... do something ...*/
  }
  __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