Cookies...?


Ein Cookie (amer. = Keks) ist eine Datei, die JavaScript auf den Anwenderrechner schreiben kann. Wohin, bestimmt der Browser des Anwenders. Cookies sind in ihrem Umfang begrenzt und können nur Variablenwerte speichern. Ausführbaren Code, der irgendwelchen Unsinn anstellen könnte, können sie nicht enthalten. Es gibt eine Reihe von sinnvollen Anwendungen. Bei allen Cookie-Anwendungen muß man wissen, daß Browser auf Wunsch die Annahme von Cookies verweigern können. Viele User nutzen diese Möglichkeit.

Cookie schreiben

Je nach Anlaß wird ein Cookie irgendwo auf einer HTML-Seite aktiviert werden, entweder aus einem Formular heraus oder automatisch beim Anzeigen der Seite.
Zum Schreiben oder Lesen dient stets das Schlüsselwort "cookie". Beim Schreiben gehen die Browser unterschiedlich vor. Bei Netscape wird eine Datei "cookies.txt" angelegt, die zeilenweise organisiert ist und neben einem Ablaufdatum Einträge der Art "Bezeichner Wert" enthält. Der Explorer dagegen schreibt eine Textdatei, deren Name aus der URL des Senders gebildet wird. Beide registrieren nicht den Namen der aufrufenden Seite sondern den des Ordners, in dem sie sich befinden.
Es ist empfehlenswert, die Routine zum Schreiben eines Cookies als JavaScript-Funktion im Head zu definieren.
Der Code enthält hier im Beispiel einen Werteintrag und denjenigen der Ablaufzeit. Anzugeben ist mit "Dauer" die Gültigkeitsdauer in Tagen:

<script language="JavaScript">
   function CookieSetz(Bezeichner,Wert,Dauer)
   {
      jetzt=new Date();
      Auszeit=new Date(jetzt.getTime()+Dauer*86400000);
      document.cookie=Bezeichner+"="+Wert+";expires="+Auszeit.toGMTString()+";";
   }
</script> 

Wenn beim Drücken der Taste nichts geschieht, überprüfen Sie bitte die Sicherheitseinstellungen Ihres Browsers. Cookies müssen natürlich (wenigstens zum Testen) "akzeptiert" werden.


Cookie lesen

Die  folgende Funktion liest ein Cookie. Wenn von der Seite aus schon ein Cookie geschrieben wurde, wird dessen Wert ermittelt. Wenn kein Cookie geschrieben wurde, ist der Rückgabewert leer.

Mit der Abfrage if(document.cookie) ermittelt die Funktion, ob bereits ein Cookie vorhanden ist. Die Ermittlung von Wertstart und Wertende im ersten Codebeispiel sichert, daß nur der Wert, aber nicht der Bezeichner zurückgemeldet wird. Diese Auswahl kann aber genausogut am ausgelesenen Wert des kompletten Cookies geschehen, siehe 2. Codevorschlag.

<script language="JavaScript">
   function CookieLesen()
   {
      Wert = "";
      if(document.cookie)
      {
      Wertstart = document.cookie.indexOf("=") + 1;
      Wertende = document.cookie.indexOf(";");
      if(Wertende == -1) Wertende = document.cookie.length;
      Wert = document.cookie.substring(Wertstart,Wertende);
      }
   return Wert;
   }
</script> 

<script language="JavaScript">
   function CookieLesen()
   {
      Wert = "";
      if(document.cookie)
      {
      Wert = document.cookie;
      Wert = Wert.slice(Wert.indexOf("=")+1,Wert.length);
      }
   return Wert;
   }
</script> 


Cookies nutzen