- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- JQuery modal e Cookies per far visualizzare 1 sola volta in 1 anno un div
-
Qual è l'impostazione del suo browser riguardo i cookies quando viene chiuso?
-
@MenteLibera said:
Qual è l'impostazione del suo browser riguardo i cookies quando viene chiuso?
ho controllato l'impostazione del browser e non vengono cancellati (i cookies) alla chiusura del browser (rimangono) ... lo script che uso probabilmente non usa una data di scadenza del cookies e quindi si resetta ad ogni chiusura del browser (anche se il cookies controllando rimane salvato nel browser)...
Non so ...
-
Mi pare strano questo caso confrontando i sintomi indicati nel post #1 perché sembrava che i cookies venissero cancellati con la chiusura del browser e quindi la volta successiva non trovandolo ripresenti quel div in sovra-impressione.
Dalla lettura del post #3 ho l'impressione che da qualche parte ci sia una chiamata che resetti quel cookie, ed in base alle specifiche esso rimane in vita nel browser almeno finché non viene chiuso.
-
eh infatti, hai ragione ... è lo stesso ragionamento che ho fatto io e invece no ...
Questo è lo script che uso, che poi è quello che trovi ovunque sul web:if (!readCookie('hasLaunch')) {
launchWindow('#dialog2');
createCookie('hasLaunch', 1, 365);
}function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days2460601000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca*;
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
-
mi devi perdonare, ho sbagliato alla grande ...
Ho controllato ancora per scupolo e in effetti hai ragione tu (non so perchè ero convinto del contrario) ...In effetti il cookie si cancella con la chiusura del browser ed è per questo (come giustamente pensavi tu) che riaprendo il browser il div ricompare!
Mannaggia ...Ok trovato l'inghippo allora come posso modificare questo script per non farlo cancellare ad ogni chiusura del browser e dargli magari una data di scadenza ?
-
@studio1977 said:
Ok trovato l'inghippo allora come posso modificare questo script per non farlo cancellare ad ogni chiusura del browser e dargli magari una data di scadenza ?
A questo problema non penso che ci sia soluzione per quanto emerso precedentemente.
-
@MenteLibera said:
A questo problema non penso che ci sia soluzione per quanto emerso precedentemente.
cioè non c'è uno script che crei un cookie che non faccia vedere quel div fino ad una certa data ?
-
I cookies una volta cancellati con la chiusura del browser (o manualmente dall'utente) non resuscitano.
-
@MenteLibera said:
I cookies una volta cancellati con la chiusura del browser (o manualmente dall'utente) non resuscitano.
ah ok in quel senso ... certo ....
Però io infatti dovrei modificare quello script per fare in modo che NON si cancelli il cookie quando viene chiuso il browser (io non voglio che venga cancellato) ... vorrei che non venga cancellato il cookie e che alla riapertura del browser esistendo ancora non venga visualizzato il div ...
Ma non so come modificarlo quello script per non far cancellare il cookie alla chiusura del browser ...
-
intervengo con un modalità del tutto diversa.
Ma se usassi i localStorage per registrare la data e poi ogni volta che ricarica la pagina leggi, calcoli la differenza di giorni, e se sono passati più di 365 giorni blocchi il div?
var firstDate = localStorage.getItem( "firstData" );
if ( !firstDate ) {
localStorage.setItem( "firstData", new Date());
} else {
// qui calcoli la differenza di giorni e se è maggiore di 1 anno appare il div altrimenti no
}