JavaScript dla każdego
//  wróć   główna   dalej  //

Cookies (ciasteczka)

document.cookie expires escape() unescape()

Przeglądarki mogą zapisywać do pliku znajdującego się na komputerze użytkownika informacje. Są one przechowywane w specjalnym katalogu i mogą zawierać różnego rodzaju informacje. Najczęściej one są dostarczane przez serwer. JavaScript posiada jednak własną możliwość operowania na cookies. Informacje przechowywane w cookies mogą być bardzo cenne, mogą być wskazówką, kiedy ostatni raz dany internauta pojawił się na stronie WWW oraz co tam robił, czego szukał, bądź co kupował.

Ciasteczka są przypisane konkretnemu katalogowi lub domenie. Tworząc cookies dla pliku z dysku C:/, tworzysz ciasteczko, które będzie dostępne tylko z tego katalogu. Będzie zawierało informacje zapisane przez pliki znajdujące się w tym katalogu. Nie ma możliwości sprawdzenia, jakie informacje zawarte są w innych ciasteczkach. Jest to pewne ograniczenie, ale wynika ono bezpieczeństwa, z drugiej strony nie ma problemu z identyfikacją ciasteczka - zawsze jest dostępne tylko jedno.

Informacje są przechowywane są w zwykłym pliku tekstowym, którzy może mieć kilka kilobajtów informacji. Są one poukładane następująco:

Cookie: Nazwa1=wartosc1; Nazwa2=wartosc2;...

Wszystkie informacje zawarte w ciasteczkach są dostępne poprzez polecenie document.cookie. Zawartość w ciasteczkach nie może zawierać spacji. W tym celu dane są kodowane przy pomocy funkcji escape() oraz rozkodowywane przy pomocy unescape.

Przykładowa funkcja, która będzie zapisywała informacje do ciasteczek wygląda następująco:

function Zapisz(NazwaCookie)
{
 Nowe=prompt("Pytanie"")
 if (Nowe!=null)
 {
  Teraz=new Date();
  Teraz.setTime(Termin = (24*60*60*1000) + Teraz.getTime());
  Termin= (Teraz.toGMTString());
  document.cookie= NazwaCookie+"=" + escape(Nowe) + "; expires="+Termin;
 }
}

Funkcja pobiera jeden argument, który jednoznacznie określa nazwę cookie. W przypadku, gdy będzie więcej ciasteczek, będzie możliwość sprawdzenia, które pole należy zamienić. Za zmienną Nowe podstawiana jest wartość okienka dialogowego prompt() (więcej I>>). Jeżeli została wprowadzona wartość, to pobierana jest aktualna data (więcej I>>). Ciasteczka mają możliwość ustawiania w nich daty. Oznacza to, że po tym czasie informacje nie będą już dostępne, taki termin ważności. Data musi być zapisana w odpowiednim formacie. W tej funkcji ważność ciasteczka jest ustawiona na 24 godziny od pory, kiedy funkcja została wywołana. Ostatnia linijka zapisuje wartość podaną w okienku prompt() wraz z odpowiadającą jej wartością (zakodowaną) oraz termin ważności podany jako wartość pola expires (bez tego pola ciasteczka nie będą działały poprawnie). Należy pamiętać o rozdzieleniu średnikiem kolejnych pól każdego ciasteczka, jak w przykładzie.

  

Do góry