JavaScript – Cookies

Cookies“ ili u slobodnom prevodu „kolaฤiฤ‡i“ su mehanizam za ฤuvanje podataka na klijentskom kompjuteru u .txt fajlu. Poลกto HTTP protokol ne ฤuva podatak o stanju izmeฤ‘u dva zahteva klijenta, kolaฤiฤ‡i vam omoguฤ‡avaju da neke informacije saฤuvate izmeฤ‘u dve klijent-server „seanse“. Svaki cookie je mali tekstualni fajl sa podacima o klijentu i sa opcionim datumom, a sam format je sledeฤ‡i:


name=vrednost; expires=DatumIsteka;

Parametar „Name“ predstavlja naziv podatka (vrednost) koji ฤ‡e biti saฤuvan. „DatumIsteka“ predstavlja datum vaลพenja cookie-ja, i to u GMT datumskom formatu. Ovaj podatak je opcioni parametar koji indicira koliko ฤ‡e cookie biti ฤuvan. Ukoliko „DatumIsteka“ nije specificiran, vrednost cookie-ja istiฤe kada korisnik sledeฤ‡i put pristupi stranici.

Za rad sa kolaฤiฤ‡ima u JavaScript-u koristiฤ‡emo „Document.cookie“ svojstvo, tj. string koji sadrลพi i naziv vrednost i same vrednosti. Sa cookie-jima moลพemo uraditi sledeฤ‡e:

  • da podesimo vrednost cookie-ja
  • da ฤitamo vrednosti iz cookie fajla
U sledeฤ‡em primeru videฤ‡emo kako se kreira cookie:


// Podesavanje vrednosti cookie-ja.
// Datum isteka je opcioni.
function setCookie(naziv, vrednost, expire)
{
document.cookie = naziv + "=" + escape(vrednost)
+ ((expire == null) ? "" : ("; expires="
+ expire.toGMTString()))
}

A u sledeฤ‡em JavaScript kodu videฤ‡emo kako da iลกฤitamo vredost cookie-ja, odreฤ‘enog naziva:


function getCookie(Name) {
var search = Name + "="
if (document.cookie.length > 0)
{
offset = document.cookie.indexOf(search)
if (offset != -1) {
// ako cookie postoji
offset += search.length
// podesi index pocetne vrednosti
end = document.cookie.indexOf(";", offset)
// podesi index kraja vrednosti
if (end == -1)
end = document.cookie.length
return
unescape(document.cookie.substring(offset, end))
}
}
}

Pratite Krstaricu na www.krstarica.com