Événements CMP
Afin de recevoir des notifications lorsque certains événements se produisent, vous pouvez utiliser les méthodes JavaScript suivantes:
__cmp("addEventListener",["eventname",callableFunction,capture],null)
__cmp("removeEventListener",["eventname",callableFunction,capture],null)
__tcfapi("addEventListener",2, callableFunction)
__tcfapi("removeEventListener",2, callableFunction, listenerId)
Le CMP peut appeler les événements suivants:
événement |
Description |
|
Le code CMP est chargé et le code de stub a été supprimé. À ce stade, le CMP n'a pas encore d'informations sur le consentement. |
|
CMP a fini de charger ses paramètres. Si une chaîne de consentement existait déjà, les données de consentement peuvent maintenant être lues à partir du CMP. |
|
CMP affiche l'écran de consentement |
|
CMP supprime l'écran de consentement |
|
CMP affiche la page des choix personnalisés |
|
CMP a obtenu le consentement ou un cookie préexistant a été trouvé. Les données de consentement peuvent désormais être lues à partir du CMP. |
|
Le visiteur a donné son consentement positif à tous les fournisseurs / objectifs |
|
Le visiteur a rejeté tous les fournisseurs et objectifs |
|
Le visiteur a donné son consentement personnalisé (accepte et refuse) |
|
L'écran de consentement est affiché, un intérêt légitime a été établi pour ce visiteur. |
|
Le visiteur a accepté un élément de contenu dynamique. L'ID de fournisseur de l'article accepté peut être trouvé dans la variable de sous-type. |
|
Divers événements pour la norme IAB GPP |
tcfv2 |
Divers événements pour la norme IAB TCF |
|
Une fois le chargement terminé (voir événement |
|
Une fois le chargement terminé (voir événement |
Les gestionnaires d'événements sont définis comme suit:
var handler = function (eventname, cmpobject, subtype){…}
Mise en garde: Ne pas utiliser cmpobject
plus. La fonction est obsolète. Utilisez plutôt des appels d'API.
Mise en situation :
<script>
function getInfos(e,o)
{
var result = __cmp('getCMPData');
/*... do something with result ...*/
}
__cmp("addEventListener",["consent",getInfos,false],null);
</script>
Veuillez noter que la commande IAB TCF v2 addEventListener ne réagira que sur un sous-ensemble d'événements.
Exemples
Rediriger le visiteur vers un autre site Web si aucun consentement n'est donné
Veuillez noter que ce comportement n'est pas recommandé et peut entraîner des problèmes juridiques!
<script>
function getInfos(e,o)
{
location.href = "https://www.mywebsite.com/alternative-content.html";
}
__cmp("addEventListener",["consentrejected",getInfos,false],null);
</script>
Affichage d'un message si le visiteur a refusé
<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>
Pousser le contenu de la page vers le bas lorsque la couche de consentement s'ouvre
<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>