L'idea di aggiungere un avviso generale sull'uso dei cookie sul proprio sito web mi frullava per la testa da molto tempo, più o meno da quando sono state emanate una serie di leggi e direttive che interessavano tutti i siti web i cui amministratori risiedevano in Spagna, o addirittura – o almeno così si diceva – tutti i siti web che potevano essere visitati in Spagna.
C'è stato un certo dibattito sull'interpretazione di queste normative, in particolare sull'obbligo di informare gli utenti che i cookie verranno installati PRIMA dell'installazione (il che è piuttosto difficile in molti casi), se il consenso debba essere esplicito (non tacito: "se continui, capiremo che accetti"), se riguardi solo i siti web commerciali ma che il semplice fatto di avere pubblicità implichi già un guadagno, e così via.
Ma è arrivato il giorno in cui non ho avuto il tempo di esaminare attentamente tutte quelle disposizioni legali, né le avrei comprese appieno, né volevo pensarci troppo, quindi, data la semplicità della soluzione, ho semplicemente aggiunto l'avviso e il gioco è fatto. L'ho fatto qualche settimana fa, e ho una preoccupazione in meno.
Immagine: yahyanikrushdi
Il banner con l'avviso e un link alla pagina che spiega i cookie (a quanto pare un altro requisito) è molto facile da implementare: bastano un div e ` position:fixed`
. Ma cosa succederebbe se evitassimo di essere ripetitivi e, invece di mostrare l'avviso ogni singolo giorno su ogni singola pagina, lo mostrassimo solo una volta per ogni utente?
Beh, in realtà, lo faremmo per ogni computer diverso perché, per ora, i cookie non sono abbastanza sofisticati da sapere chi sta usando la tastiera. Prima o poi, questo cambierà (basta chiedere a Google o Facebook ), ma per ora non accadrà.
Quindi, per garantire che ogni utente veda l'avviso solo una volta, salveremo un cookie per registrare che l'ha già visto ed evitare di disturbarlo di nuovo in futuro. Il sistema di gestione dei cookie sarà lo stesso di cui abbiamo parlato in precedenza e spiegato più dettagliatamente all'epoca.
Esistono altri servizi disponibili online che offrono qualcosa di simile, ma il vantaggio di questo codice è che funziona in modo indipendente, quindi non dobbiamo fare affidamento su nessuno. Ve lo presento pronto per essere copiato e incollato in un gadget HTML/JavaScript. Più avanti ve lo spiegherò brevemente.
<div id="barracookies">
Utilizziamo cookie nostri e di terze parti che, tra le altre cose, raccolgono dati sulle tue abitudini di navigazione per mostrarti pubblicità personalizzata ed eseguire analisi sull'utilizzo del nostro sito.
<br/>
Se continui a navigare, consideriamo che accetti il loro utilizzo. <a href="javascript:void(0);" onclick="var expiration = new Date(); expiration.setTime(expiration.getTime() + (60000*60*24*365)); setCookie('avisocookies','1',expiration,'/');document.getElementById('barracookies').style.display='none';"><b>OK</b></a> <a href="http://www.google.com/intl/es-419/policies/technologies/types/" target="_blank" >Ulteriori informazioni</a> | <a href="http://www.agpd.es/portalwebAGPD/canaldocumentacion/publicaciones/common/Guias/Guia_Cookies.pdf" target="_blank" >E altro ancora</a>
</div>
<!-- Stile barra CSS -->
<style>#barracookies {display: none;z-index: 99999;position:fixed;left:0px;right:0px;bottom:0px;width:100%;min-height:40px;padding:5px;background: #333333;color:#d7c712;line-height:20px;font-family:verdana;font-size:12px;text-align:center;box-sizing:border-box;} #barracookies a:nth-child(2) {padding:4px;background:#4682B4;border-radius:5px;text-decoration:none;} #barracookies a {color: #fff;text-decoration: none;}</style>
<!-- Gestione dei cookie-->
<script type='text/javascript'>function setCookie(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+((expires==null)?"":"; expires="+expires.toGMTString())+((path==null)?"":"; path="+path)+((domain==null)?"":"; domain="+domain)+((secure==null)?"":"; secure")}function getCookie(name){var cname=name+"=";var dc=document.cookie;if(dc.length>0){begin=dc.indexOf(cname);if(begin!=-1){begin+=cname.length;end=dc.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin,end))}}return null}function delCookie(name,path,domain){if(getCookie(name)){document.cookie=name+"="+((path==null)?"":"; path="+path)+((domain==null)?"":"; domain="+domain)+"; expires=Thu, 01-Jan-70 00:00:01 GMT"}}</script>
<!-- Gestione della barra degli avvisi sui cookie -->
<script type='text/javascript'>
var check = getCookie("noticecookies");
se (seleziona != null) {}
else {
var expiration = new Date();
expiration.setTime(expiration.getTime() + (60000*60*24*365));
setCookie("noticecookies","1",expiration);
document.getElementById("barracookies").style.display="block"; }
</script>
Come puoi vedere, la prima parte, fino al primo commento, è l'HTML, che include il testo, il pulsante OK e i link. Puoi formattare questo testo come preferisci, così come la destinazione del link. Nell'esempio ho usato due link generici, ma è meglio che il primo punti a una pagina specifica del tuo sito in cui viene discussa la cookie policy. Penso che sia sufficiente. Il secondo link potrebbe puntare alla stessa pagina del primo, oppure potresti semplicemente ometterlo.
Il prossimo è lo stile della barra. Ovviamente, modificando proprietà e valori, puoi modificare il CSS per dargli un aspetto diverso.
Il terzo blocco è il codice JavaScript che gestisce i cookie in generale, di cui abbiamo già parlato. Se lo hai già nel tuo template, puoi rimuovere questa sezione, poiché non è necessario includerla due volte.
Infine, c'è la piccola routine che controlla ogni volta che una pagina viene caricata se il cookie è già stato salvato (se è già stato salvato in precedenza). In caso contrario, e solo in tal caso, viene visualizzata la barra con l'avviso. A proposito, la moltiplicazione 60000*60*24*365 serve a far durare il biscotto per un anno. Dopodiché, ricomparirà. Puoi modificare questo numero a tuo piacimento.


Commenti
Posta un commento