Info
Innehåll

CMP-evenemang

För att få aviseringar när vissa händelser inträffar kan du använda följande JavaScript-metoder:

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

CMP kan ringa följande händelser:

händelse

Beskrivning

init

CMP-kod laddas och stubbkoden har tagits bort. I detta skede har CMP ännu ingen information om samtycket.

settings

CMP slutade ladda sina inställningar. Om det redan fanns en samtyckessträng kan samtycktsdata nu läsas från CMP.

consentscreen

CMP visar skärmen för samtycke

consentscreenoff

CMP tar bort samtyckeskärmen

consentscreencustom

CMP visar sidan med anpassade val

consent

CMP har samlat samtycke eller hittades en föregående cookie. Samtyckedata kan nu läsas från CMP.

consentapproved

Besökaren gav positivt samtycke till alla leverantörer / ändamål

consentrejected

Besökare avvisade alla leverantörer och syften

consentcustom

Besökaren gav anpassat samtycke (accepterar och avvisar)

liestablished

Samtyckeskärmen visas, legitimt intresse har fastställts för den här besökaren.

vendorconsent

Besökare accepterade en dynamiskt innehåll. Leverantörs-ID för det accepterade objektet kan hittas i subtypvariabel.

Händelsehanterare definieras som:

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

Varning: Använd inte cmpobject längre. Funktionen är utfasad. Använd istället API-samtal.

Exempelvis:

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

Observera att kommandot IAB TCF v2 addEventListener bara kommer att reagera på en delmängd av händelser.

Exempel

Omdirigera besökaren till en annan webbplats om inget medgivande ges

Observera att detta beteende inte rekommenderas och kan orsaka juridiska problem!

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

Visar ett meddelande om besökaren avvisade

<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>

Tryck ner sidinnehållet när samtyckeslagret öppnas

<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>
Tillbaka till toppen