Cookie JavaScript fără dată de expirare
Aș dori să setez un cookie care să nu expire niciodată. Ar fi chiar posibil acest lucru?
document.cookie = "name=value; expires=date; path=path;domain=domain; secure";
Nu vreau să fac ca data să fie foarte mare, mă întreb doar dacă exista o valoare pentru parametrul expires al cookie-ului care să-i spună să nu expire niciodată.
Răspuns #1
Nu. Asta nu se poate face. Cel mai bun 'mod' de a face asta este pur și simplu să setezi data de expirare să fie în jurul anului 2100.
Editează
Începând cu august 2022, cookie-urile Chrome pot fi setate să expire doar după 400 de zile.
Răspunsul #2
Nu există o sintaxă pentru ceea ce vrei. Neetabilirea valorii 'expires' face ca cookie-ul să expire la sfârșitul sesiunii. Singura opțiune este să alegi o valoare arbitrar de mare. Fii conștient că unele browsere au probleme cu datele după 2038 (când timpul Unix depășește un int de 32 de biți).
Răspunsul #3
Poți să faci ca exemplul din documentația Mozilla:
document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";
P.S
Desigur, va exista o problemă dacă omenirea va folosi încă codul tău în primul minut al anului 10000 :)
Răspunsul #4
Toate cookie-urile expiră conform specificației cookie-urilor, valoarea maximă pe care o poți seta este
2^31 - 1 = 2147483647 = 2038-01-19 04:14:07
Deci durata maximă de viață a cookie-ului este
$.cookie('subscripted_24', true, { expires: 2147483647 });
Răspunsul #5
Ai putea eventual să setezi un cookie cu o dată de expirare de o lună sau ceva de genul și apoi să reasignezi cookie-ul de fiecare dată când utilizatorul vizitează din nou site-ul web
Răspunsul #6
Dacă nu setați o dată de expirare, cookie-ul va expira la sfârșitul sesiunii utilizatorului. Recomand să folosiți data imediat înainte ca timpul Unix să depășească un întreg pe 32 de biți. Pentru a pune asta în cookie, ați folosi document.cookie="randomCookie=true; expires=Tue, 19 Jan 2038 03:14:07 UTC;, presupunând că randomCookie este cookie-ul pe care îl setați și true este valoarea sa respectivă.
