» wróć na stronę główną
» wróć do AM


Cookie - zastosowania

Ten tekst jest uzupełnieniem do artykułu o Cookies (warto go najpierw przeczytać). Zaprezentuje tutaj dwa skrypty JavaScript wykorzystujących pliki cookie.

Licznik odwiedzin

Pierwszy skrypt to licznik odwiedzin, ale nie taki zwykły wyświetlający ilu użytkowników odwiedziło stronę, ten będzie pokazywał ile razy ty odwiedziłeś stronę. Oto on:

function czytaj_licznik() //funkcja która będzie czytała aktualną wartość licznika
 {
  if (document.cookie.indexOf("licznik=")==-1) {return 0} //sprawdza czy istnieje cookie (jeżeli nie, zwraca 0)
  wartosc=parseInt(document.cookie.substring(8,document.cookie.length)); //kopiuje wartość cookie i konwertuje ją na liczbę
  return wartosc;
 }

function ustaw_licznik(liczba) //funkcja ustawiająca nową wartość licznika
 {
  waznosc=new Date(); //tworzy nową zmienną gdzie będzie przechowywana data wygaśnięcia
  waznosc.setTime(waznosc.getTime()+1000*60*60*24*30); //ustawia datę wygaśnięcia na 30 dni
  document.cookie="licznik=" + liczba +";expires=" + waznosc.toGMTString(); //ustawia nowe cookie
 }

licznik=czytaj_licznik(); //odczytuje wartość licznika
licznik++; //zwiększa wartość licznika o 1
ustaw_licznik(licznik); //ustawia nową wartość licznika
document.write("Odwiedzasz moją stronę już " + licznik + " raz"); //wyświetla wartość licznika

Można ten kod zapisać w pliku np. licznik.js, a później w dokumencie HTML wstawić kod <script language="JavaScript" src="licznik.js"></script>.
UWAGA!!! Licznik będzie działał poprawnie jeżeli cookie z licznikiem będzie jedynym cookie. Jeżeli masz zamiar stosować więcej "ciasteczek" na stronie musisz użyć innej funkcji odczytującej wartość (np. nieco zmodyfikowana funkcja czytaj_ciacho() z mojego arta o Cookies).

Kolor tła

Dzięki temu skryptowi użytkownik będzie mógł na jednej ze stron ustawić kolor tła z którym będą wyświetlane wszystkie pozostałe strony. Pierwszym elementem jest skrypt, który ustawi cookie które będzie przechowywało informację jaki kolor tła mają mieć strony. Można to uczynić tworząc formularz w którym będzie można wybrać jeden z zaproponowanych przez webmastera kolorów lub formularz w którym użytkownik sam będzie mógł wpisać wartość koloru. Opiszę ten drugi sposób:

Najpierw gdzieś w dokumencie HTML trzeba umieścić formularz:

<form name="ustaw">
Wpisz wartość koloru tła: <input type="text" name="kolor">
<input type="button" value="Ustaw" onClick="javascript: ustaw_kolor(document.forms.ustaw.kolor.value);">
</form>

Teraz JavaScript:

function ustaw_kolor(kolor) //funkcja tworząca cookie
 {
  waznosc=new Date(); //zmienna z datą wygaśnięcia
  waznosc.setTime(waznosc.getTime()+1000*60*60*24*30); //ustawia datę wygaśnięcia
  if (kolor!="") //jeżeli kolor nie jest pusty
  document.cookie="kolor=" + kolor + ";expires=" + waznosc.toGMTString(); //tworzy cookie
 }

function czytaj_kolor() //funkcja czytająca wartość koloru
 {
  if (document.cookie.indexOf("kolor=")==-1) {return "#FFFFFF"} //sprawdza czy istnieje cookie (jeżeli nie, zwraca kolor biały (#FFFFFF))
  wartosc=document.cookie.substring(6,document.cookie.length); //kopiuje wartość cookie i konwertuje ją na liczbę
  return wartosc;   //zwraca wartość
 }

document.bgColor=czytaj_kolor(); //ustawia kolor dokumentu

Kod JavaScript można umieścić w zewnętrznym pliku (np. kolor.js) i dołączać do każdej strony. Należy także stronę z formularzem, aby użytkownik mógł wybrać kolor. Przy niewielkich modyfikacjach można stworzyć skrypt który będzie dołączał do ostrony odpowiedni arkusz styli CSS wybrany przez użytkownika.
UWAGA!!! Tak jak w przypadku poprzedniego ten skrypt będzie działał poprawnie jeżeli cookie z wartością koloru będzie jedynym cookie.

Może macie jeszcze inne pomysły na skrypt z wykorzystaniem cookie?

Szczepan
mr.szczepan@poczta.fm
GG#2188590

Artykuł pochodzi z magazynu komputerowego @t.
Darmową prenumeratę możesz złożyć na www.at.w.pl