Pagina 1 din 1

Timpul de expirare la crearea unui cookie in JavaScript

Scris: Joi Noi 01, 2012
de steell
Salut,
Nu inteleg cum se adauga timpul de expirare la crearea unui cookie. Vreau ca cookie-ul creat sa expire dupa 20 de secunde de la creare.
am codul acesta de pe site

Cod: Selectaţi tot

var name = "culoare";
var value = "blue";
var douasec = 20000;
var expDate = new Date();
expDate.setTime(expDate.getTime()+douasec);
document.cookie = name + "=" + escape(value) + "; expires=" + expDate.toGMTString();
1. Data de expirare se adauga in milisecunde, insa de cand se incepe numaratoarea lor? de la crearea cookie-ului?
2. setTime() din definitie stiu ca seteaza milisecundele dupa 1/1-1970. Cum adica le seteaza, ce le face?
3. getTime() din definitie stiu ca preia milisecundele ramase pana la miezul noptii. Ce le gatura are asta cu restul codului? Am abservat ca daca sterg expDate.getTime()+ nu mai functioneaza.
4. Ce face toGMTString() ? Nu trebuie adaugata in milisecunde data?
Nu mai inteleg nimic.

Timpul de expirare la crearea unui cookie in JavaScript

Scris: Sâm Noi 03, 2012
de MarPlo
1. si 4. Data de expirare este timpul Unix, adica de la 1-Ianuarie-1970 pana in momentul cand vrei sa expire, si trebuie sa se adauge in cookie sub form acestui sir, cu formatul: Wdy, DD-Mon-YYYY HH:MM:SS GMT , de aceea se foloseste: toGMTString() , transforma milisecundele in acel format.

2. si 3. Fiindca data de expirare este timpul Unix, de la 1-Ianuarie-1970 pana in momentul cand vrei sa expire, se folosete getTime() ca sa preia numarul de milisecunde pana in momentul curent, apoi cu setTime() se seteaza in obiectul cu data (aici expDate) noul numar de milisescunde din el. Adica, in codul de sus, obiectul "expDate" sa aibe milisecundele preluate cu "getTime()" plus cele dupa cat vrem sa expire.