• User Attivo

    Qual è l'impostazione del suo browser riguardo i cookies quando viene chiuso?


  • User Attivo

    @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 ...


  • User Attivo

    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.


  • User Attivo

    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;
    }


  • User Attivo

    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 ?


  • User Attivo

    @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.


  • User Attivo

    @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 ?


  • User Attivo

    I cookies una volta cancellati con la chiusura del browser (o manualmente dall'utente) non resuscitano.


  • User Attivo

    @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 ...


  • User

    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
    }