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:
Gebeurtenis |
Beschrijving |
|
CMP-code wordt geladen en de stub-code is verwijderd. In dit stadium heeft de CMP nog geen informatie over de toestemming. |
|
CMP heeft de instellingen geladen. Als er al een toestemmingsreeks bestond, kunnen de toestemmingsgegevens nu worden gelezen uit de CMP. |
|
CMP toont het toestemmingsscherm |
|
CMP verwijdert het toestemmingsscherm |
|
CMP toont de pagina met aangepaste keuzes |
|
CMP heeft toestemming verkregen of er is een reeds bestaande cookie gevonden. Toestemmingsgegevens kunnen nu worden gelezen uit de CMP. |
|
Bezoeker gaf positieve toestemming aan alle leveranciers / doeleinden |
|
Bezoeker heeft alle leveranciers en doeleinden afgewezen |
|
Bezoeker gaf aangepaste toestemming (accepteert en weigert) |
|
Toestemmingsscherm wordt weergegeven, er is een legitiem belang vastgesteld voor deze bezoeker. |
|
Bezoeker accepteerde een dynamisch inhoudsitem. De leverancier-ID van het geaccepteerde artikel is te vinden in de subtype variabele. |
|
Diverse evenementen voor de IAB GPP-standaard |
tcfv2 |
Diverse events voor de IAB TCF standaard |
|
Zodra het laden is voltooid (zie event |
|
Zodra het laden is voltooid (zie event |
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>