Timpul de expirare la crearea unui cookie in JavaScript

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
Avatar utilizator
steell
Mesaje:190

Timpul de expirare la crearea unui cookie in JavaScript

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.

MarPlo Mesaje:4343
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.