Java Reference
In-Depth Information
Oder wenn ein Haltbarkeitsdatum gesetzt werden soll, geht das so:
Listing 8.18■ Setzen des Werts eines Cookies mit Ablaufdatum
document.cookie =
"meinCookie=42; expires=Wednesday, 10-Nov-13 20:15:40 GMT";
Cookie-Werte dürfen etwa keine Leerzeichen und keine Sonderzeichen enthalten. Deshalb
müssen solche Zeichen mit den JavaScript-Toplevel-Funktionen escape() und unescape()
beim Schreiben maskiert und beim Lesen wieder entschlüsselt werden. Des Weiteren müs-
sen verschiedene Aktionen wie das Bestimmen der Länge eines Werts oder das Trennen an
bestimmten Zeichen im String durchgeführt werden (dies sind recht analoge Vorgänge, wie
man sie beim Übertragungsprozess mit Formulardaten anwendet).
Nun ist es auch leider nicht ganz so einfach, wenn man komplexere Informationen in einem
Cookie speichern und wieder auslesen möchte. JavaScript bietet da erst einmal keine große
Unterstützung. Wir könnten diese Details zwar unter JavaScript ausarbeiten, aber das hieße
Eulen nach Athen zu tragen. Es gibt schon seit gefühlten Ewigkeiten für das Cookie-Manage-
ment einen Satz von freien Funktionen, die ursprünglich ein Programmierer namens Bill
Dortch entwickelt hat und kostenlos bereitgestellt wurden. Mit dessen Funktionen
SetCookie(name, value, expires, path, domain, secure) und GetCookie(name) zum
Setzen und Lesen von beliebigen Angaben wird das Cookie-Management dann wirklich zum
Kinderspiel (wir werden sie unverändert im nachfolgenden Beispiel einfach nutzen und
auch nicht abdrucken). Die zusätzliche Funktion DeleteCookie(name, path, domain)
erlaubt das Löschen eines Cookies, indem das Verfallsdatum auf den 1. Januar 1970 gesetzt
wird (es gibt keine Möglichkeit zum direkten Löschen).
HInTErGrunDInFOrMATIOn: Beachten Sie die ungewöhnliche Großschrei-
bung der Cookie-Funktionen. Damit ist der Programmierer explizit von der
üblichen Kleinschreibung in JavaScript und dem DOM-Konzept abgewichen.
Das nachfolgende Beispiel beinhaltet ein kleines Formular, das bei einem Klick auf die eine
Schaltläche ein Cookie schreibt, in das die Werte der beiden Eingabefelder (das könnten
beispielsweise Zugangsdaten zu einem geschlossenen Bereich sein) geschrieben werden.
Beim erneuten Laden des Formulars werden diese Werte wieder ausgelesen und die Formu-
larfelder bereits vorbelegt. Beispiel (kap8_8.html):
Listing 8.19■ Das Setzen und Auslesen von Cookies mit JavaScript
...
<script type="text/javascript">
function GetCookie(name) { ... }
function SetCookie(name, value, expires, path, domain, secure) { ... }
function getCookieVal(offset) { ... }
function schreibeCookie() {
with (document) {
haltbarDatum = new Date(2019, 11, 31, 1, 0, 0);
cookie = SetCookie("user",
document.getElementsByName("userid")[0].value, haltbarDatum);
cookie = SetCookie("pw",
document.getElementsByName("pw")[0].value, haltbarDatum);
 
Search WWH ::




Custom Search