Aby otrzymywać powiadomienia o wystąpieniu określonych zdarzeń, możesz skorzystać z 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ływać następujące zdarzenia:
|
Wydarzenie |
Opis |
|
|
Kod CMP został załadowany, a kod zastępczy został usunięty. Na tym etapie CMP nie posiada jeszcze informacji o zgodzie. |
|
|
CMP zakończył ładowanie swoich ustawień. Jeśli ciąg zgody już istniał, dane dotyczące zgody można teraz odczytać z CMP. |
|
|
CMP wyświetla ekran zgody |
|
|
CMP usuwa ekran zgody |
|
|
CMP wyświetla stronę z opcjami niestandardowymi |
|
|
CMP uzyskało zgodę lub znaleziono istniejący plik cookie. Dane dotyczące zgody można teraz odczytać z CMP. |
|
|
Odwiedzający wyraził zgodę na wszystkie podmioty/cele |
|
|
Odwiedzający odrzucił wszystkich dostawców i cele |
|
|
Odwiedzający wyraził niestandardową zgodę (akceptacje i odrzucenia) |
|
|
Wyświetlono ekran zgody, ustalono prawnie uzasadniony interes dla tego użytkownika. |
|
|
Odwiedzający zaakceptował element treści dynamicznej. Identyfikator dostawcy zaakceptowanego elementu można znaleźć w zmiennej podtypu. |
|
|
Różne zdarzenia dla standardu IAB GPP |
tcfv2 |
Różne zdarzenia dla standardu IAB TCF |
|
|
Po zakończeniu ładowania (patrz zdarzenie |
|
|
Po zakończeniu ładowania (patrz zdarzenie |
Obsługa zdarzeń jest zdefiniowana jako:
var handler = function (eventname, cmpobject, subtype){…}
Ostrzeżenie: Nie używaj już cmpobject . Ta funkcja jest przestarzała. Zamiast tego używaj 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 addEventListener w IAB TCF v2 reaguje tylko na podzbiór zdarzeń.
Przykłady
Przekierowanie odwiedzającego na inną stronę internetową, jeśli nie wyrazi zgody
Należy pamiętać, że takie postępowanie nie jest zalecane i może spowodować 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 komunikatu, jeśli odwiedzający odrzucił
<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 treści strony w dół po otwarciu okienka 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>