Informacia
Treść

Wydarzenia CMP

Aby otrzymywać powiadomienia o wystąpieniu określonych zdarzeń, możesz użyć następujących metod JavaScript:

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

CMP może wywołać następujące zdarzenia:

wydarzenie

Opis

init

Kod CMP został załadowany, a kod pośredniczący został usunięty. Na tym etapie CMP nie ma jeszcze informacji o zgodzie.

settings

CMP zakończył ładowanie ustawień. Jeśli ciąg zgody już istniał, dane zgody można teraz odczytać z CMP.

consentscreen

CMP pokazuje ekran akceptacji

consentscreenoff

CMP usuwa ekran akceptacji

consentscreencustom

CMP pokazuje stronę z niestandardowymi wyborami

consent

CMP zebrał zgodę lub znaleziono wcześniej istniejący plik cookie. Dane zgody można teraz odczytać z CMP.

consentapproved

Odwiedzający wyraził pozytywną zgodę na wszystkich dostawców/celów

consentrejected

Odwiedzający odrzucił wszystkich dostawców i cele

consentcustom

Odwiedzający udzielił niestandardowej zgody (akceptuje i odrzuca)

liestablished

Pojawia się ekran zgody, istnieje uzasadniony interes dla tego odwiedzającego.

vendorconsent

Odwiedzający zaakceptowany i dynamiczna pozycja treści. Identyfikator dostawcy akceptowanej pozycji można znaleźć w zmiennej podtypu.

Programy obsługi zdarzeń są zdefiniowane jako:

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

Ostrzeżenie: Nie używaj cmpobject nie więcej. Funkcja jest przestarzała. Zamiast tego użyj wywołań API.

Przykład:

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

Należy pamiętać, że polecenie IAB TCF v2 addEventListener zareaguje tylko na podzbiór zdarzeń.

Przykłady

Przekierowanie odwiedzającego na inną stronę internetową w przypadku braku zgody

Pamiętaj, że to zachowanie nie jest zalecane i może powodować problemy prawne!

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

Wyświetlanie wiadomości, jeśli odwiedzający został odrzucony

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

Przesuwanie zawartości strony w dół po otwarciu warstwy zgody

<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>
Powrót do góry