Info
Contenu

É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

init

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.

settings

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.

consentscreen

CMP affiche l'écran de consentement

consentscreenoff

CMP supprime l'écran de consentement

consentscreencustom

CMP affiche la page des choix personnalisés

consent

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.

consentapproved

Le visiteur a donné son consentement positif à tous les fournisseurs / objectifs

consentrejected

Le visiteur a rejeté tous les fournisseurs et objectifs

consentcustom

Le visiteur a donné son consentement personnalisé (accepte et refuse)

liestablished

L'écran de consentement est affiché, un intérêt légitime a été établi pour ce visiteur.

vendorconsent

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.

gpp

Divers événements pour la norme IAB GPP

tcfv2

Divers événements pour la norme IAB TCF

loadShowing

Une fois le chargement terminé (voir événement settings) et le système a décidé d'afficher la couche conesnt.

loadNotShowing

Une fois le chargement terminé (voir événement settings) et le système a décidé de ne sauraient afficher la couche cohérente.

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>
Retour en haut de la page