Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
3 février 2011 4 03 /02 /février /2011 16:06

Une petite bibliothèque tout droit venue de chez Peter-Paul Koch http://www.quirksmode.org/js/cookies.html. Je vous y renvoie pour des explications complètes, il fait ça très bien.

 // Gestion simplifiée des cookies http://brendufat.over-blog.com/article-js-cookies-66381726.html // Sur une idée de Peter-Paul Koch - http://www.quirksmode.org/js/cookies.html JMcookie={ create:function(nm,v,d) { // d : durée en jours var dt,xp=''; if (d){ var dt=new Date(); dt.setTime(dt.getTime()+(d*24*3600000)); xp=';expires='+dt.toGMTString() } document.cookie= nm+"="+v+xp+";path=/"; } ,read:function(nm) { var ca=document.cookie.split(';'),i,c; nm+="="; for(i=0;i<ca.length;i++) {c=ca[i]; while (c.charAt(0)==' ') c=c.substring(1,c.length); if (c.indexOf(nm)==0) return c.substring(nm.length,c.length); } return null; } ,remove:function(nm) {this.create(nm,"",-1)} }; 

Le mode d'emploi est très banal : ajoutez ce code à l'un de vos fichiers JavaScript si vous en avez déjà ou bien créez un fichier rien que pour lui et ajoutez

 <script type="text/javascript" src="URL_du_fichier_JS"></script> 
… quelque part dans un module de votre blog (en-tête ou pied de page).

Dès lors, dans du code JS situé après ces quelques instructions, vous pouvez écrire :

 JMcookie.create("moncookie","lavaleurducookie",durée de vie); /* Crée "moncookie" et lui donne "lavaleurducookie" moncookie et lavaleurducookie sont évidemment ce que vous voudrez 'durée de vie' est un nombre de jours. Si la durée de vie n'est pas indiquée ou vaut zéro le cookie 'meurt' en fin de session. */ 
 JMcookie.read("moncookie"); /* Lit le cookie "moncookie". Renvoie sa valeur ou null si le cookie est introuvable (jamais défini ou expiré) */ 
 JMcookie.remove("moncookie"); /* Supprime "moncookie" */ 

Petite note : pourquoi  après ces quelques instructions  ? Parce que, avant, JMcookie est inconnu au bataillon.

Autre petite note : j'ai regroupé ces trois fonctions dans un objet nommé JMcookie pour limiter les risques de conflits avec le JS rédigé par OB.

Dernière petite note : si le nom JMcookie vous énerve, vous êtes libre d'en choisir un autre, bien sûr.

Ultime petite note : ayez l'élégance de ne pas enlever les deux lignes de commentaires donnant le pedigree du bébé.

commentaires

B
<br /> Nan c'est juste qu'a 17 h (heure de reception de la NL)c'est l'heure ou je grignote..cookie...grignotage..Bref j'assume l'entière responsabilité de ce bide monumental !<br /> <br /> Et cet article est très bien, m'aurait rendu grand service à l'époque ou je t'ai persécuté sur le "lire la suite " pour créer une toolbarre amovible ^^<br /> <br /> <br />
Répondre
A
<br /> <br /> Seigneur tout-puissant ! Il fait des astuces encore plus vaseuses que les miennes ! Comme ses parents ont dû souffrir.... :-D<br /> <br /> <br /> <br />
B
<br /> Christina, il manque le href ="http://www.quirksmode.org/js/cookies.html" dans le lien de notre Bren national ^^<br /> Je pense que ce n'est pas l'ordi qui est fatigué :P ;)<br /> <br /> <br /> ( tiens je l'aurais mis du coup mon com "constructif")<br /> <br /> <br />
Répondre
A
<br /> <br /> Vous formez un duo d'enfer, vous savez ? :-D Le comm est "constructif" et tout à fait justifié ! Je corrige le truc.<br /> <br /> <br /> Le sujet de l'article n'est pas très olé-olé, je sais bien, mais d'une çe peut rendre service, de deux je vais en avoir bientôt besoin pour une usine à gaz en cours de rédaction. Yukyukyuk...<br /> <br /> <br />  <br /> <br /> <br /> <br />
C
<br /> aujourd'hui la fenêtre pour laisser un com s'est ouverte du premier coup, mais c'est le lien(Koch) qui ne veut rien savoir, même le curseur ne se met pas en petite main, tsss... pourtant les<br /> balises y sont, je ne pige pas..... c'est mon ordi qui est fatigué ??<br /> <br /> <br />
Répondre
B
<br /> Non j'ai rien de particulier à dire j'avais juste envie de jouer avec la fenêtre des commentaires , pis à cette heure ci quand j'ai vu cookie dans intitulé de la NL... (si ça c'est pas un com<br /> constructif...bon c'est quand même mieux qu'un kikou...)<br /> <br /> <br />
Répondre

Archives