This page has been robot translated, sorry for typos if any. Original content here.

Wie setze und erhalte ich Cookies mit Javascript?

Um zu arbeiten, brauchen wir zwei Funktionen: Cookies bekommen und setzen

Cookie-Einstellfunktion

 Funktion set_cookie (Name, Wert, läuft ab)
 {
 wenn (! abläuft)
 {
 abläuft = neues Datum ();
 }
 document.cookie = name + "=" + escape (Wert) + "; expires =" + expires.toGMTString () + "; Pfad = /";
 }

Cookie-Funktion

 Funktion get_cookie (Name) {cookie_name = name + "=";  cookie_length = document.cookie.length;  cookie_begin = 0;  while (cookie_begin <cookie_length) {value_begin = cookie_begin + cookie_name.length;  if (document.cookie_string (cookie_begin, value_begin) == cookie_name) {var value_end = document.cookie.indexOf (";", value_begin);  if (wert_end == -1) {wert_ende = cookie_length;  } return unescape (document.cookie.substring (value_begin, value_end));  } cookie_begin = document.cookie.indexOf ("", cookie_begin) + 1;  if (cookie_begin == 0) {break;  }} gebe null zurück;  } 

Beispielinstallation und -empfang

Im Beispiel wird durch Klicken auf den Link "Installieren" ein Cookie in den Browser geschrieben. Wir machen es mit Hilfe einer solchen Funktion:

 Funktion save_cookie () {
  var name = "Beispiel" // Cookie-Name
  var tmp = "Hallo, ich bin dein Cookie!";  // schreibe Wert
  abläuft = neues Datum ();  // Erhalte das aktuelle Datum
  expires.setTime (expires.getTime () + (1000 * 86400 * 365));  // Berechne den Cookie-Speicherzeitraum
  set_cookie (Name, tmp, läuft ab);  // setze den Cookie mit der Funktion set_cookie
 }

Rufen Sie diese Funktion in HTML auf:

<a href="javascript:save_cookie();">Установка</a>

Um einen Cookie zu lesen, verwenden wir die Funktion get_cookie () und schreiben den resultierenden Wert aus Gründen der Übersichtlichkeit in die HTML-Ebene. Das machen wir mit dieser Funktion:

 Funktion write_cookie () {
  // Holen Sie den Cookie und schreiben Sie den Wert mit innerHTML auf den Layer
  document.getElementById ('layer'). innerHTML = get_cookie ('Beispiel'); 
 }

Rufen Sie diese Funktion in HTML auf:

<a href="javascript:write_cookie();">Чтение</a>
// слой, в котором показываем значение cookie
<div id="layer" style="padding:5px;"></div>

Ein Beispiel für das Speichern und Abrufen eines Arrays

Das Setzen und Empfangen von Cookies ist ähnlich wie im vorherigen Beispiel beschrieben, mit dem einzigen Unterschied, dass das Array vor dem Lesen und Speichern verarbeitet werden muss.

Holen Sie die Werte und schreiben Sie mit der Funktion save_array () in den Cookie:

 Funktion save_array () {
  var myArray = [1, 2, "Hallo"];  // Array mit Werten
  var tmp = "";
  if (meinArray! = null) {
 
  // gehe durch das Array, sammle die Werte in einer Variablen und trenne sie mit einem Komma
  für (ich in myArray) 
  {
  if (meinArray [i]! = "") {
  tmp = tmp + myArray [i];
  if (i! = myArray.length-1) {
  tmp = tmp + ",";
  }
  }
  }
  }
  abläuft = neues Datum ();  // Erhalte das aktuelle Datum
  expires.setTime (expires.getTime () + (1000 * 86400 * 365));  // Berechne den Cookie-Speicherzeitraum
  set_cookie ("Beispiel", tmp, läuft ab);  // setze den Cookie mit der Funktion set_cookie
 }

Rufen Sie diese Funktion in HTML auf:

<a href="javascript:save_array();">Установка</a>

Lies den Wert des Cookies und zeige ihn in der HTML-Ebene an

 Funktion write_array () {
  var getmyArray = get_cookie ('Beispiel');  // lese den Cookie-Wert
  var tmp = ";
  getmyArray = getmyArray.split (",") // parsen Sie den Wert, indem Sie ihn in ein Array einfügen
  for (i = 0; i <getmyArray.length; i ++) // gehe durch das Array und formatiere es für die Ausgabe
  {
  tmp + = getmyArray [i];
  if (i! = getmyArray.length) {
  tmp + = "<br />>";
  }
 }
  // gebe das Array an den Layer mit dem Bezeichner layer2 aus
  document.getElementById ('layer2'). innerHTML = tmp; 
 }

Rufen Sie diese Funktion in HTML auf:

<a href="javascript:write_array();">Распечатать массив</a>
// слой, в котором показываем значение cookie
<div id="layer2" style="padding:5px;"></div>