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

Comment configurer et obtenir des cookies en utilisant javascript

Pour fonctionner, nous avons besoin de deux fonctions: obtenir et installer des cookies.

Fonction de réglage des cookies

 fonction set_cookie (nom, valeur, expire)
 {
 si (! expire)
 {
 expires = new Date ();
 }
 document.cookie = name + "=" + escape (value) + "; expires =" + expires.toGMTString () + "; path = /";
 }

Fonction cookie

 function get_cookie (name) {nom_cookie = nom + "=";  cookie_length = document.cookie.length;  cookie_begin = 0;  while (cookie_begin <cookie_length) {valeur_begin = cookie_begin + nom_cookie.length;  if (document.cookie.substring (cookie_begin, value_begin) == cookie_name) {var value_end = document.cookie.indexOf (";", value_begin);  if (value_end == -1) {valeur_end = cookie_length;  } return unescape (document.cookie.substring (value_begin, value_end));  } cookie_begin = document.cookie.indexOf ("", cookie_begin) + 1;  if (cookie_begin == 0) {pause;  }} return null;  } 

Exemple d'installation et de réception

Dans l'exemple, en cliquant sur le lien "Installer", un cookie sera écrit dans le navigateur. Nous le faisons avec l'aide d'une telle fonction:

 function save_cookie () {
  var name = "exemple" // nom du cookie
  var tmp = "Bonjour, je suis votre cookie!";  // écrit la valeur
  expires = new Date ();  // récupère la date du jour
  expires.setTime (expires.getTime () + (1000 * 86400 * 365));  // calcule la durée de stockage des cookies
  set_cookie (nom, tmp, expire);  // définit le cookie à l'aide de la fonction set_cookie
 }

Appelez cette fonction en HTML:

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

Pour lire un cookie, nous utilisons la fonction get_cookie () et, pour plus de clarté, nous écrivons la valeur résultante dans la couche HTML. Nous faisons cela en utilisant cette fonction:

 fonction write_cookie () {
  // récupère le cookie et écrit la valeur sur la couche à l'aide de innerHTML
  document.getElementById ('layer'). innerHTML = get_cookie ('example'); 
 }

Appelez cette fonction en HTML:

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

Un exemple de sauvegarde et d'obtention d'un tableau

Le paramétrage et la réception des cookies sont similaires à ceux décrits dans l'exemple précédent, la seule différence étant que le tableau doit être traité avant d'être lu et sauvegardé.

Récupérez les valeurs et écrivez dans le cookie à l'aide de la fonction save_array ():

 fonction save_array () {
  var myArray = [1, 2, "bonjour"];  // tableau avec des valeurs
  var tmp = "";
  if (myArray! = null) {
 
  // parcourt le tableau en collectant les valeurs dans une variable et en les séparant par une virgule
  pour (dans myArray) 
  {
  if (myArray [i]! = "") {
  tmp = tmp + myArray [i];
  if (i! = myArray.length-1) {
  tmp = tmp + ",";
  }
  }
  }
  }
  expires = new Date ();  // récupère la date du jour
  expires.setTime (expires.getTime () + (1000 * 86400 * 365));  // calcule la durée de stockage des cookies
  set_cookie ("exemple", tmp, expire);  // définit le cookie à l'aide de la fonction set_cookie
 }

Appelez cette fonction en HTML:

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

Lire la valeur du cookie et l'afficher dans la couche HTML

 fonction write_array () {
  var getmyArray = get_cookie ('exemple');  // lit la valeur du cookie
  var tmp = ";
  getmyArray = getmyArray.split (",") // analyse la valeur en la plaçant dans un tableau
  for (i = 0; i <getmyArray.length; i ++) // parcourt le tableau et le formate pour la sortie
  {
  tmp + = getmyArray [i];
  if (i! = getmyArray.length) {
  tmp + = "<br /7>";
  }
 }
  // affiche le tableau sur la couche avec l'identificateur layer2
  document.getElementById ('layer2'). innerHTML = tmp; 
 }

Appelez cette fonction en HTML:

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