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