Diese Seite schaut viel besser in einem Browser aus, der Web-Standards unterstützt, die Seite ist aber für jeden Browser geeignet. Trotzdem empfehle ich den Download z.B. des Firefox, Opera oder Internet Explorers.
Cookies sind kleine Datenpakete, die beim Aufruf einer Webseite verschickt werden, um später, wenn die Seite erneut aufgerufen wird, den Aufrufer wiedererkennen zu können.
Ein Cookie kann (muss aber nicht) folgende Informationen enthalten:
Mit JavaScript können Cookies einfach über die Dokument-Methode cookie() gesetzt werden.
document.cookie = "Hartmut Birkholz=JavaScript";
Ein neues Cookie, welches mit document.cookie gesetzt wird, überschreibt in JavaScript nicht das alte Cookie: Es gibt dann eben zwei Cookies.
document.cookie = "Hartmut Birkholz=JavaScript;";
document.cookie = "Dein Gott, der=liebt Dich;";
Sollte der Cookie-Name Sonderzeichen enthalten, empfiehlt es sich, dieses zu codieren, am besten mit der URL-Codierung.
Möchte man , dass das Cookie nach dem Ende einer Browser-Session aktiv bleibt, muss explizit ein Ablaufdatum vergeben werden. Dieses muss im GMT (Greenwich Mean Time)-Format in den JavaScript-Code geschrieben werden. Wie dieses Format für bestimmte Daten aussieht, lässt sich mit Methoden des Datum-Objektes herausfinden. Die Codierung mit Ablaufdatum sieht so aus:
document.cookie = "Hartmut Birkholz=JavaScript; expires=Wed, 24-Dec-2008 12:34:56 GMT";
Das Ablaufdatum kann auch dazu benutzt werden, ein Cookie zu löschen. Dazu wird einfach ein Datum eingetragen, das in der Vergangenheit liegt:
document.cookie = "Hartmut Birkholz=JavaScript; expires=Thu, 01-Jan-1970 12:34:56 GMT";
Um Cookies auszulesen, wird eine neue Fnktion angelegt. Für das Lesen muss man die Position der Information kennen, die ausgelesen werden soll. Da document.cookie einen String als Wert hat, kann man dazu die indexOf()-Methode verwenden:
function leseCookie (name) {
var position = document.cookie.indexOf(name + "=");
Jetzt wird mit einer if-Anweisung geprüft, ob das Cookie überhaupt existiert.. Ist das nicht der Fall, muss die Position kleier als 0, also nicht vorhanden sein.. In diesem Fall soll der Rückgabewert ein leerer String sein.
if (position < 0) {
return "";
Ist aber ein Cookie vorhanden, ist der Wert gleich oder größer 0. Um die genaue Position der gewünschten Information zu ermitteln und diese später auszugeben, müssen zunächst indexOf() die entsprechenden Parameter übergeben werden.
Der erste Parameter ist dabei der Endpunkt, der zweite Parameter der Ausgangspunkt:
}
else {
var strichpunkt = document.cookie.indexOf(";", position);
Ist dieses Semikolon das letzte im String, wird es als das letzte der Zeichenkette definiert:
if (strichpunkt < 0) {
strichpunkt = document.cookie.length;
Jetzt lassen sich mit der Methode substring() die Daten des Cookies auslesen. Als Paramezter bekommt substring() den Ausgangspunkt der Suche und das erste Zeichen, das nichtmehr ausgegeben werden soll:
var daten = document.cookie.substring(position + name.length + 1, strichpunkt);
Dann könnten wir uns langsam die Daten ausgeben lassen, aber am besten wieder uncodiert (s.o.), d.h. die Codierung etwaiger Sonderzeichen (ich glaube, das ist nur noch im IE ein Problem) wird wieder rückgängig gemacht mit dem Befehl unescape
return unescape(daten);
}
}
Mit document.write wird dann die Funktion leseCookie() aufgerufen, das Resultat wäre dann diese simple Zeichenkette:
Übrigens, das ist der Inhalt, den ich Dir/Ihnen als Inhalt auf den PC geschrieben habe!
| <-- Zufallszahlen | Formulare/Ziele --> |