Per ricevere notifiche quando si verificano determinati eventi, puoi utilizzare i seguenti metodi JavaScript:
__cmp("addEventListener",["eventname",callableFunction,capture],null)__cmp("removeEventListener",["eventname",callableFunction,capture],null)__tcfapi("addEventListener",2, callableFunction)__tcfapi("removeEventListener",2, callableFunction, listenerId)
Il CMP può richiamare i seguenti eventi:
|
Evento |
Descrizione |
|
|
Il codice CMP è stato caricato e il codice stub è stato rimosso. In questa fase il CMP non dispone ancora di informazioni sul consenso. |
|
|
Il CMP ha terminato il caricamento delle impostazioni. Se esisteva già una stringa di consenso, i dati relativi al consenso possono ora essere letti dal CMP. |
|
|
Il CMP mostra la schermata di consenso |
|
|
Il CMP rimuove la schermata di consenso |
|
|
Il CMP mostra la pagina delle scelte personalizzate |
|
|
Il CMP ha raccolto il consenso o è stato trovato un cookie preesistente. I dati relativi al consenso possono ora essere letti dal CMP. |
|
|
Il visitatore ha dato il consenso a tutti i fornitori/finalità |
|
|
Il visitatore ha rifiutato tutti i fornitori e le finalità |
|
|
Il visitatore ha fornito un consenso personalizzato (accettazioni e rifiuti) |
|
|
Viene visualizzata la schermata di consenso, è stato stabilito un interesse legittimo per questo visitatore. |
|
|
Il visitatore ha accettato un elemento di contenuto dinamico. L'ID del fornitore dell'elemento accettato è reperibile nella variabile del sottotipo. |
|
|
Vari eventi per lo standard IAB GPP |
tcfv2 |
Vari eventi per lo standard IAB TCF |
|
|
Una volta terminato il caricamento (vedi evento |
|
|
Una volta terminato il caricamento (vedi evento |
Gli handler di eventi sono definiti come:
var handler = function (eventname, cmpobject, subtype){…}
Attenzione: non utilizzare cmpobject più. La funzione è deprecata. Utilizza invece le chiamate API.
Esempio:
<script>
function getInfos(e,o)
{
var result = __cmp('getCMPData');
/*... do something with result ...*/
}
__cmp("addEventListener",["consent",getInfos,false],null);
</script>
Si prega di notare che il comando addEventListener di IAB TCF v2 reagirà solo a un sottoinsieme di eventi.
Esempi
Reindirizzare il visitatore a un altro sito web se non viene dato il consenso
Si prega di notare che questo comportamento non è raccomandato e potrebbe causare problemi legali!
<script>
function getInfos(e,o)
{
location.href = "https://www.mywebsite.com/alternative-content.html";
}
__cmp("addEventListener",["consentrejected",getInfos,false],null);
</script>
Visualizza un messaggio se il visitatore ha rifiutato
<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>
Spostare il contenuto della pagina verso il basso quando si apre il layer di consenso
<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>