page-translate

Créer et gérer un cookie en Javascript

cookie / didacticiel / Javascript / Web

Important: Nous venons de migrer d'un site Wordpress vers Drupal alors il se peut qu'il y ait des liens brisés, des images qui ne s'affichent pas ou encore du code mal formatté. Nous travaillons fort pour régler ces problèmes le plus tôt possible.

La différence majeure entre un cookie créé par un script PHP et celui d'un script Javascript est l'endroit où il peut être créé. En PHP, le cookie doit être envoyé avant la balise car il doit faire partie de l'entête de la requête HTTP tandis qu'en Javascript, le cookie peut être créé n'importe où dans le document.

Le cookie est un petit fichier texte enregistré dans la mémoire du fureteur côté client, peut contenir n'importe quelle valeur, et sa durée de vie est limitée.

Créer un cookie

En Javascript, nous créons un cookie grâce à cette synthaxe précise :

document.cookie = 'un_cookie=valeur_cookie; expires=Thu, 2 Aug 2012 20:47:11 UTC; path=/'

Au lieu d'utiliser cette synthaxe chaque fois que nous voulons créer un cookie, nous pouvons créer une fonction creerCookie() qui s'occupera de la synthaxe :

function creerCookie(nom, valeur, jours) {
// Le nombre de jours est spécifié
        if (jours) {
var date = new Date();
                // Converti le nombre de jour en millisecondes
date.setTime(date.getTime()+(jours*24*60*60*1000));
var expire = "; expire="+date.toGMTString();
}
        // Aucune valeur de jours spécifiée
else var expire = "";
document.cookie = nom+"="+valeur+expire+"; path=/";
}

Lire un cookie

Lire est cookie demande à ce que l'on cherche le nom du cookie dans l'array qui contient tous les cookies.

Créons une fonction nommée lireCookie(), laquelle prend le nom du cookie comme argument :

function lireCookie(nom) {
// Ajoute le signe égale virgule au nom
        // pour la recherche
        var nom2 = nom + "=";
        // Array contenant tous les cookies
var arrCookies = document.cookie.split(';');
        // Cherche l'array pour le cookie en question
for(var i=0;i < arrCookies.length;i++) {
var a = arrCookies[i];
// Si c'est un espace, enlever
                while (a.charAt(0)==' ') {
                  a = a.substring(1,a.length);
                }
if (c.andexOf(nom2) == 0) {
                  return a.substring(nom2.length,a.length);
                }
}
        // Aucun cookie trouvé
return null;
}

Supprimer un cookie

Supprimer un cookie est, en fait, la même chose que créer un cookie mais dont la date d'expiration est antérieure (chiffre négatif). Vous pouvez donc supprimer un cookie en utilisant la même fonction que pour le créer :

// Le nombre de jour -1 désigne une date antérieure
// le fureteur supprimera donc le cookie avec ce nom
creerCookie(nom, valeur, -1);
En savoir plus :

Ajouter un commentaire

CAPTCHA
Êtes-vous un robot ?
Image CAPTCHA
Écrivez le code apparaissant dans l'image.

Derniers articles