Recherche…


Ajouter et définir des cookies

Les variables suivantes configurent l'exemple ci-dessous:

var COOKIE_NAME = "Example Cookie";    /* The cookie's name. */
var COOKIE_VALUE = "Hello, world!";    /* The cookie's value. */
var COOKIE_PATH = "/foo/bar";          /* The cookie's path. */
var COOKIE_EXPIRES;                    /* The cookie's expiration date (config'd below). */

/* Set the cookie expiration to 1 minute in future (60000ms = 1 minute). */
COOKIE_EXPIRES = (new Date(Date.now() + 60000)).toUTCString();
document.cookie += 
  COOKIE_NAME + "=" + COOKIE_VALUE
  + "; expires=" + COOKIE_EXPIRES
  + "; path=" + COOKIE_PATH;

Lecture des cookies

var name = name + "=",
    cookie_array = document.cookie.split(';'),
    cookie_value;
for(var i=0;i<cookie_array.length;i++) {
    var cookie=cookie_array[i];
    while(cookie.charAt(0)==' ')
        cookie = cookie.substring(1,cookie.length);
    if(cookie.indexOf(name)==0)
        cookie_value = cookie.substring(name.length,cookie.length);
    }

Cela définira cookie_value à la valeur du cookie, s'il existe. Si le cookie n'est pas défini, il définira cookie_value sur null

Supprimer les cookies

var expiry = new Date();
expiry.setTime(expiry.getTime() - 3600);
document.cookie = name + "=; expires=" + expiry.toGMTString() + "; path=/"

Cela va supprimer le cookie avec un name donné.

Teste si les cookies sont activés

Si vous voulez vous assurer que les cookies sont activés avant de les utiliser, vous pouvez utiliser navigator.cookieEnabled :

if (navigator.cookieEnabled === false)
{
    alert("Error: cookies not enabled!");
}

Notez que navigator.cookieEnabled peut ne pas exister et être indéfini sur les anciens navigateurs. Dans ces cas, vous ne détecterez pas que les cookies ne sont pas activés.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow