|
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
|