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

So richten Sie sich ein und erhalten einen Cookie mit JavaScript

Für die Arbeit brauchen wir zwei Funktionen: Einen Cookie holen und setzen

Die Funktion zum Setzen des Cookies

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

Beispiel für Installation und Empfang

Im Beispiel wird der Link "Installation" in den Browser-Cookie geschrieben. Wir machen es mit Hilfe dieser Funktion:

 Funktion save_cookie () {
  var name = "Beispiel" // Name des Cookies
  var tmp = "Hallo, ich bin dein Keks!";  // schreibe Wert
  abläuft = neues Datum ();  // Erhalte das aktuelle Datum
  expires.setTime (expires.getTime () + (1000 * 86400 * 365));  // Berechne die Cookie-Ablaufzeit
  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 den Cookie zu lesen, verwenden Sie die Funktion get_cookie () und schreiben Sie zur besseren Übersicht das Ergebnis in die HTML-Ebene. Wir machen das mit Hilfe dieser Funktion:

 Funktion write_cookie () {
  // Erhalte einen Cookie und schreibe den Wert mit innerHTML in den Layer-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>

Beispiel für das Speichern und Abrufen eines Arrays

Die Installation und der Empfang von Cookies ähneln denen im vorherigen Beispiel, mit dem einzigen Unterschied, dass Sie das Array vor dem Lesen und Speichern verarbeiten müssen.

Wir erhalten 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) {
 
  // Wir gehen durch das Array, sammeln die Werte in einer Variablen und trennen sie durch ein 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 die Cookie-Ablaufzeit
  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>

Lesen Sie den Wert des Cookies und geben Sie es auf der HTML-Ebene aus

 Funktion write_array () {
  var getmyArray = get_cookie ('Beispiel');  // lese den Wert des Cookies
  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 / 7>";
  }
 }
  // 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>