Barra per cookie law (jquery+php)

filomeni

Moderatore
Membro dello Staff
MOD
14 Mag 2006
1.044
6
38
49
Roseto degli Abruzzi (TE)
www.sitiweb.cloud
Ciao, stavo leggendo l'articolo dei Cookie Low che tempo fa mi è arrivato dalla news letter di mr webmaster... Se volete ecco il link: http://www.mrwebmaster.it/leggi-fisc...ana_12024.html.
Non voglio commentare questa nuova str che hanno fatto... Comunque per essere tranquilli facciamolo tanto non costa nulla.
Nell'articolo ci sono anche dei link dove forniscono questa barra... Ci ho fatto un giro! Madre! chi chiede l'iscrizione chi ti porta altrove... insomma alla fine ho detto: "me la faccio io" e la metto a disposizione di chi vuole!
Chiusa parentesi, il codice lo metto in questa sezione perchè fa uso di più linguaggi: PHP, Jquery, css e l'immancabile HTML!!!
Spiego in brevissimo e chi ha domande non se le tenga :D
Ho usato javascript per crearmi un cookie

Codice:
onclick="document.cookie='block=set;expires'"
(che rientra proprio nell'argomento... :gun: ), alla pressione del button con PHP lo recupero e se esiste valorizzo la variabile "$style" che va a nascondere il "contenitore" della barra e fino a che non chiudiamo il browser rimane memorizzata e non fa più vedere il fastidioso avviso.
Con il breve css ho dato uno stile alla barra e al bottone per chiuderla (ovviamente molto grezzo, possiamo fare di meglio) e in fine con Jquery creo l'animazione della barra che non come le solite che spariscono a slide, io ho preferito la dissolvenza (.fadeOut).
Tutto qua, provate se vi piace è vostra :D

Posto il codice per intero:

HTML:
<html>
<head>
<?php
$cookie = $_COOKIE["block"]; //recupero il cookie
if($cookie=="set"){
	$style="display:none";
}
?>
<style>
.cookieLaw{position:fixed;top:90%;left:0px;width:100%;height:100px;background-color:#000;z-index:10}
	.text > p{font-family:arial;font-size:14px;color:#fff;padding:10px}
	.text{position:absolute;width:80%;height:100%}
	button{position:absolute;right:10%;top:5px;width:120px;height:50px;background-color:#FFA143;-webkit-border-radius: 8px;-moz-border-radius: 8px;border-radius: 8px;z-index:20}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
			$("#slide").click(
	 		function(){
	 		$(".cookieLaw").fadeOut(3000);			
			});
	});//FINE DOM
	</script>
</head>
<body>
<div class="cookieLaw" style="<?php echo $style ?>"><!--recupero la variabile per nascondere il div-->
<div class="text"><p>Il mio sito, per offrirti i servizi, utilizza cookie. Se vuoi saperne di piu',leggi qui. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque elemento acconsenti all'uso dei cookie. Per utilizzare i servizi è necessario che acconsenti all'utilizzo.</p></div><button id="slide" type="button" onclick="document.cookie='block=set;expires'" >Accetto!</button>
</div>
</body>
</html>
Ciao Alla prox
 
Ultima modifica di un moderatore:

MarcoGrazia

Utente Attivo
15 Dic 2009
686
8
18
58
Udine
www.stilisticamente.com
Attenzione a quello che si dice quando di mezzo c'è la legge, quindi informarsi sempre e bene.

Ora, scrivere:
Il mio sito, per offrirti i servizi, utilizza cookie. Se vuoi saperne di più, leggi qui. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque elemento acconsenti all'uso dei cookie. Per utilizzare i servizi è necessario che acconsenti all'utilizzo.
Ha il sapore di una minaccia e inoltre non è sempre vero che non posso usufruire dei servizi: sicuramente posso leggere il sito, solo che io utente non ti permetto di profilarmi, e francamente non mi sembra una sciocchezza, semmai un valore aggiunto.
Il problema semmai, a parte il costo della profilazione che sarà pure uno dei più bassi in europa, ma 150€ rimangono pure sempre 150€! Il problema dicevo, è che la scritta dentro il banner non è mai fine a se stessa ma bisogna aggiungere sempre una pagina con i riferimenti della privacy in cui si deve necessariamente inserire oltre il riferimento alla legge, il modo for dummies per coloro che visitano il sito e vogliono impedire la profilazione o cancellare i cookie dal proprio browser, in funzione del browser che utilizzano.
Per esempio come ho fatto io qui ed è solo un esempio fra tanti, basta cercare in rete.
Un riferimento a chi detiene i dati personali degli utenti, in questo caso di solito il titolare del sito.
Attenzione perché come dice lo stesso Garante, solo se mettete pubblicità sul sito dovete mettere il banner, mentre se non l'avete allora basta la pagina relativa alla privacy che dovete sempre mettere, e sulla quale potete scrivere nel secondo caso che non profilate alcunché.
Se poi avete un forum di discussione dove gli utenti devono anche iscriversi, be allora davvero detenete un database di dati in cui la privacy è fondamentale, e a rigor di legge, dovete denunciarne l'uso e la detenzione alla locale questura, ma questo non da oggi ma dagli anni '30! ( Sì lo so non c'erano i database in formato elettronico, ma i registri cartacei sì ).
Insomma fare un sito non è solo un divertimento ma anche un onere legale e mi pare anche giusto quando dovete mantenere segreto un intero database di dati personali come nome, cognome, password, email e quant altro.

Un ultima cosa e poi stacco se no mi ammazzate :D è dibattuta la questione ma secondo alcuni non dovreste proprio profilare nulla e mostrare nessuna pubblicità fino a quando non accetto ( scroll della pagina o click sulla X )
Quindi a prescindere da ciò modificherei lo script in questo modo per nascondere l'odiato banner anche quando scrollate la pagina:
HTML:
<script type="text/javascript">
$( document ).ready( function() {
  function chiudiSlide() { $( '.cookieLaw' ).fadeOut( 3000 ); };

  $( '#slide' ).scroll( function() { chiudiSlide(); });
  $( '#slide' ).click( function(){  chiudiSlide();  });
});//FINE DOM
</script>
Così se si clicca sulla X o si srolla la pagina comunque si chiude il banner.
Non è nemmeno tutto, appena lo trovo inserisco anche la norma di legge relativa alla durata del cookie che regola il banner di avviso.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.038
146
63
PR
www.borgo-italia.it
ciao
i chiarimenti sono sempre interessanti ed utili, anche se ritengo tale disposizione una cavolata (e sono gentile), e questo perchè sanno anche se hai le mutande sporche o pulite indipendentemente dai cookie e, ribadisco, rompono i suddetti ai piccoli perche i grandi sono intoccabili.
anch'io mi fermo qui :)
dimenticavo: "quando c'era lui, caro lei" dicevano "tutto quello che non è proibito è obbligatorio", ci stamo ricascando
 

filomeni

Moderatore
Membro dello Staff
MOD
14 Mag 2006
1.044
6
38
49
Roseto degli Abruzzi (TE)
www.sitiweb.cloud
Così se si clicca sulla X o si srolla la pagina comunque si chiude il banner.
Non è nemmeno tutto, appena lo trovo inserisco anche la norma di legge relativa alla durata del cookie che regola il banner di avviso.
Bravo, era una cosa che volevo aggiungere... ma non ho tempo maledizzz... :)
 

filomeni

Moderatore
Membro dello Staff
MOD
14 Mag 2006
1.044
6
38
49
Roseto degli Abruzzi (TE)
www.sitiweb.cloud
Attenzione a quello che si dice quando di mezzo c'è la legge, quindi informarsi sempre e bene.

Ora, scrivere:

Ha il sapore di una minaccia e inoltre non è sempre vero che non posso usufruire dei servizi: sicuramente posso leggere il sito, solo che io utente non ti permetto di profilarmi, e francamente non mi sembra una sciocchezza, semmai un valore aggiunto.
Il problema semmai, a parte il costo della profilazione che sarà pure uno dei più bassi in europa, ma 150€ rimangono pure sempre 150€! Il problema dicevo, è che la scritta dentro il banner non è mai fine a se stessa ma bisogna aggiungere sempre una pagina con i riferimenti della privacy in cui si deve necessariamente inserire oltre il riferimento alla legge, il modo for dummies per coloro che visitano il sito e vogliono impedire la profilazione o cancellare i cookie dal proprio browser, in funzione del browser che utilizzano.
Per esempio come ho fatto io qui ed è solo un esempio fra tanti, basta cercare in rete.
Un riferimento a chi detiene i dati personali degli utenti, in questo caso di solito il titolare del sito.
Attenzione perché come dice lo stesso Garante, solo se mettete pubblicità sul sito dovete mettere il banner, mentre se non l'avete allora basta la pagina relativa alla privacy che dovete sempre mettere, e sulla quale potete scrivere nel secondo caso che non profilate alcunché.
Se poi avete un forum di discussione dove gli utenti devono anche iscriversi, be allora davvero detenete un database di dati in cui la privacy è fondamentale, e a rigor di legge, dovete denunciarne l'uso e la detenzione alla locale questura, ma questo non da oggi ma dagli anni '30! ( Sì lo so non c'erano i database in formato elettronico, ma i registri cartacei sì ).
Insomma fare un sito non è solo un divertimento ma anche un onere legale e mi pare anche giusto quando dovete mantenere segreto un intero database di dati personali come nome, cognome, password, email e quant altro.

Un ultima cosa e poi stacco se no mi ammazzate :D è dibattuta la questione ma secondo alcuni non dovreste proprio profilare nulla e mostrare nessuna pubblicità fino a quando non accetto ( scroll della pagina o click sulla X )
Quindi a prescindere da ciò modificherei lo script in questo modo per nascondere l'odiato banner anche quando scrollate la pagina:
HTML:
<script type="text/javascript">
$( document ).ready( function() {
  function chiudiSlide() { $( '.cookieLaw' ).fadeOut( 3000 ); };

  $( '#slide' ).scroll( function() { chiudiSlide(); });
  $( '#slide' ).click( function(){  chiudiSlide();  });
});//FINE DOM
</script>
Così se si clicca sulla X o si srolla la pagina comunque si chiude il banner.
Non è nemmeno tutto, appena lo trovo inserisco anche la norma di legge relativa alla durata del cookie che regola il banner di avviso.
Era un mio impegno rivedere un attimo questo snippet... Come già detto e ribadisco, la funzione di nascondere il banner allo scroll della pagina è stato giustamente implementato da @MarcoGrazia ma così come stilato il codice non può funzionare in quanto l'evento "scroll" deve essere applicato all'oggetto "window" e non all'ID "#slide" e comunque anche per questo evento va "scritto" il cookie per non visualizzare nuovamente il banner al reload della pagina.
Il cookie in questione:
Codice:
document.cookie='block=set;expires';
Quindi riprendo il codice e correggo la parte in questione.
Codice:
<script type="text/javascript">
$( document ).ready( function() {
  function chiudiSlide() { $( '.cookieLaw' ).fadeOut( 3000 ); };

  $( window ).scroll( function() {  chiudiSlide(); //correzione
  document.cookie='block=set;expires'; // aggiungo il cookie all'evento scroll
  });
  $( '#slide' ).click( function(){  chiudiSlide();  });
});//FINE DOM
</script>
E come al solito vi saluto e auguro una buona navigazione nel forum.
 
Ultima modifica: