Cookies banner informativa policy google map
Autore: Rino D.Salve
Ho inserito una mappa google in una pagina che mi genera dei cookies ora vorrei riuscire a controllare in qualche modo la scrittura del cookie generato in modo da farlo generare solo nel momento in cui l'utente dà il consenso
<script type='text/javascript' src='jquery.cookie.js'></script>
<script>
$(function(){
if( $.cookie('cookie_law_yes_311C60DC3951DB6FCC16C9B2D157CC1E') != null ){alert('esiste');
}
else{alert('non esiste');
$('#imObjectMap_pluginAppObj_01_frame').remove();
}
});
</script>
naturalmente se inserisco lo script all 'interno del metodo "quando la pagina è stata caricata"
►ormai è troppo tardi ed il cookie viene creato
se la metto inizio pagina l 'elemento con id="imObjectMap_pluginAppObj_01_frame" non è stato ancora creato
e quindi il cookie viene creato
:(
Come devo gestire la situazione?devo bloccare il cookie prima della creazione......
pultroppo credo che dovrò inserire uno script a livello di cella
(ovvero se esiste il cookie allora ►codice html che genera la mappa altrimenti blocco)
e dire addio all'oggetto google map previsto da website
C'e' qualche mago che ha altre soluzioni?
Autore
questo perchè la mappa la voglio mettere nella pagina principale altrimenti potrei pensare di disabilitare il pulsante ad un altra pagina se non si accetta prima la privacy ma se la pagina viene indicizzata è raggiungibile comunque
:( hanno reso le cose difficili da gestire...
Potresti risolvere mettendo un'immagine della mappa, con un collegamento alla mappa vera di google
Autore
Ciao Giorgio a questo ci avevo già pensato grazie comunque
io vorrei riuscire a gestire l'oggetto google map con degli script
Autore
dunque durante la notte mi è venuta un idea tutta da provare ed ora non ho tempo però
durante "l'esplosione" del dom potrei usare
:-
$('#imObjectMap_pluginAppObj_01_frame').on('load',function(){
if( $.cookie('cookie_law_yes_311C60DC3951DB6FCC16C9B2D157CC1E') != null )//quindi se esiste già
{$(this).show(); console.log('load the iframe') ;//se esiste faccio caricare iframe di google
}
else► lo carico solo dopo aver cliccato su accetta i cookie
});
qualche suggerimento?obiezzioni? idee?
Autore
sto provando
$('#imObjectMap_pluginAppObj_01_frame').ready(function(){
// what you want to happen when mouseover and mouseout alert('letto');
// occurs on elements that match '.dosomething'
if( $.cookie('cookie_law_yes_311C60DC3951DB6FCC16C9B2D157CC1E') != null ){alert('esiste');}
else{
alert('rimosso');
$('#imObjectMap_pluginAppObj_01_frame').remove();
}
});
cos' intercetto quando è ready riesco a bloccare l'elemento ma il fottutissimo cookie me lo scarica uguale o intercetto prima
Il metodo ready va usato con document: https://www.w3schools.com/jquery/event_ready.asp
Se cerchi in Internet ne trovi di già pronti, mi sembra di ricordare che questo possa fare al caso tuo: https://cookieconsent.insites.com/
Autore
ciao Lemon grazie di tutto
il ready l ho usato così come definito sopra e funzionava in modo egreggio
$('#imObjectMap_pluginAppObj_01_frame').ready(function(){
//mi dà l ok quando carica #imObjectMap_pluginAppObj_01_frame
effettivamente l'avevo adoperato solo con document però ho visto che funziona....
cmq ... non è la via corretta ....
ci dò un okkio lemon e grazie per ora
Autore
Lemon ho dato un okkio al link
https://cookieconsent.insites.com/
e praticamente si tratta semplicemente di un banner castomizzabile ma non blocca i cookies
:( il mio obiettivo è quello di impedire l'installazione degli stessi prima del consenso dell ' utente
Autore
Ci son riuscito a bloccare il maledetto cookie
code:-
if( $.cookie('cookie_law_yes_311C60DC3951DB6FCC16C9B2D157CC1E') != null )
{ alert('esiste');// l'utente aveva già dato il consenso e carico tutto
}
else{
alert('non esiste');// non esiste il cookie
$('#pluginAppObj_01').ready(function() //mi riferisco all'elemento padre
{
$('#imObjectMap_pluginAppObj_01_frame').remove(); //blocco la mappa
});
// ma non riesco a garantirne la vulnerabilità io l'ho provato in locale ma se
$('#imObjectMap_pluginAppObj_01_frame').remove(); non esiste ancora???
#pluginAppObj_01►padre
#imObjectMap_pluginAppObj_01_frame►figlio
Autore
Volevo dire se
#imObjectMap_pluginAppObj_01_frame nonè stato ancora caricato nel dom
$('#imObjectMap_pluginAppObj_01_frame').remove(); non gli fà una pippa
Ci son riuscito a bloccare il maledetto cookie
code:-
if( $.cookie('cookie_law_yes_311C60DC3951DB6FCC16C9B2D157CC1E') != null )
{ alert('esiste');// l'utente aveva già dato il consenso e carico tutto
}
else{
alert('non esiste');// non esiste il cookie
$('#pluginAppObj_01').ready(function() //mi riferisco all'elemento padre
{
$('#imObjectMap_pluginAppObj_01_frame').remove(); //blocco la mappa
});
// ma non riesco a garantirne la vulnerabilità io l'ho provato in locale ma se
$('#imObjectMap_pluginAppObj_01_frame').remove(); non esiste ancora???
#pluginAppObj_01►padre
#imObjectMap_pluginAppObj_01_frame►figlio
[/quote]
... io posso solo indicarti la mia idea alternativa, semplicissima, che se del caso ti svilupperai sulla base delle condizioni che stai già programmando...
... nell'IFRAME di Google lasci il campo SRC vuoto, (SRC="")...
... oppure con una immagine (SRC="percorso/nomeimmagine.jpg)...
... l'URL di google map lo metti in una variabile:
(var mappa="https://www.google.com/maps/embed?pb=ECCETERA")...
... questa detta è la chiave dell'idea...
... ed in più se vuoi, per non occupare spazio puoi eliminare il div contenitore (display:none)...
... al verificarsi della o delle condizioni che vuoi controllare assegnerai dinamicamente al campo SRC la variabile "mappa", ... e se nascosto riattiverai anche il div contenitore...
... potendo così scegliere se lasciare l'immagine inerte, o escludere il div, o attivare la mappa reale, nel contempo poter evitare che venga attivato il relativo cookie...
.
Nella versione attuale non so se hanno rimosso questa possibilità ma un paio di anni fa sono stati scritti qui su X5 Help Center decine e decine di post sull'argomento cookie e cookieconsent faceva quello che ti ho scritto.
Qui puoi trovare un articolo da dove puoi scaricare e provare lo script che ricordavo: https://www.cosedelweb.it/cookie-policy-come-essere-in-regola-senza-usare-plugin/
In fondo all'articolo trovi degli esempi ma, in ogni caso, con cookieconsent devi utilizzare l'Oggetto Codice HTML per poter bloccare i cookie prima dell'eventuale consenso del navigatore.
Autore
grazie ad entrambi kolasim lemonsong domani ci rimetto le mani su.... per ora grazie 1000 ;)
Autore
Dunque
La soluzione proposta da KolAsim è quella che avrei voluto utilizzare per la soluzione del problema
avevo tirato giù il codice ed era tutto funzionante solo che il titolare del sito vorrebbe evitare l'installazione dei cookies e quindi opto per la soluzione di lemonsong ovvero mediante l ' uso di un link all'immagine in modo tale da far caricare la mappa su un altra finestra o direttamente sul navigatore ► l'immagine la carico come immagine di backgroud in style css in modo da caricarne una personalizzata a seconda della risoluzione del dispositivo e con un oggetto html ne associo il link ovvero ►
/*codice css media query*/
<style>
@media screen and (min-width:480px) and (max-width: 1153px) {
/* regole CSS */
#imCellStyleGraphics_68 {
background-image: url(../images/mappanicolemediarisoluzione.png);
background-position-x: left;
background-position-y: top;
background-size: initial;
background-repeat-x: no-repeat;
background-repeat-y: no-repeat
background-attachment: initial;
background-origin: initial;
background-clip: initial;
background-color: transparent;
}
}
@media screen and (min-width:1154px){
/* regole CSS */
#imCellStyleGraphics_68 {
background-image: url(../images/mappanicolealtarisoluzione.png);
background-position-x: left;
background-position-y: top;
background-size: initial;
background-repeat-x: no-repeat;
background-repeat-y: no-repeat
background-attachment: initial;
background-origin: initial;
background-clip: initial;
background-color: transparent;
}
}
@media screen and (min-width:0px) and (max-width: 479px) {
/* regole CSS */
#imCellStyleGraphics_68 {
background-image: url(../images/mappanicolebassarisoluzione.png);
background-position-x: left;
background-position-y: top;
background-size: initial;
background-repeat-x: no-repeat;
background-repeat-y: no-repeat
background-attachment: initial;
background-origin: initial;
background-clip: initial;
background-color: transparent;
}
}
</style>
/*----------------------------------------------*/
/*codice css del div interno all'oggetto html*/
#sfondoclikkabile{
width:100%;
height:100%;
}
/*-----------------------------------------------*/
/*codice nell'oggetto html*/
<div id="sfondoclikkabile"onclick="location.href='https://www.google.it/maps/place/......" style="cursor:pointer;">
</div>
Forse volevi scrivere Giorgio?
Autore
Prima di chiudere questo topic volevo fare delle precisazioni :-
La risposta corretta per quel che volevo ottenere me l ' ha fornita Kolasim
ma alla fin dei conti mi ritrovo a percorrere la strada proposta inizialmente da lemonsong....
....considerando il fatto che kolasim mi ha chiuso positivamente un sacco di topic guadagnandosi di conseguenza tante volte "la spunta di commento corretto" , considerando che lemonsong mi ha dato una risposta in tempi brevissimi mi sento in dovere di attribuirgli la risposta corretta
Saluti
Rino
Autore
Mi son sbagliato
era @Giorgio C. che me l'aveva suggerito ;)
sorry !!