Si tu veut, voici le code que nous a fournit notre prof d'algo en debut d'année (oui on a des cours de javascript dans ma formation \o/ )
// Fonctions pour stocker les cookies sur l'ordinateur client
function SetCookie (name, value)
{
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(argc > 2) ? argv[2] : null;
var path=(argc > 3) ? argv[3] : null;
var domain=(argc > 4) ? argv[4] : null;
var secure=(argc > 5) ? argv[5] : false;
document.cookie=name+"="+escape(value)+
((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "");
}
// Fonction pour lire le cookie sur l'ordinateur client a partir
// de son rang (offset)
function getCookieVal(offset)
{
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1)
endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
// Fonction qui permet de trouver le rang du cookie a partir de
// son nom
function GetCookie (name)
{
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen) {
var j=i+alen;
if (document.cookie.substring(i, j)==arg)
return getCookieVal (j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;}
return null;
}
var pathname=location.pathname;
var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';
var date_exp = new Date();
date_exp.setTime(date_exp.getTime()+(365*24*3600*1000));
// Ici on définit une durée de vie de 365 jours
Apres il suffit de faire un
SetCookie("nomducookie",valeurducookie,date_exp,myDomain);
et
GetCookie("nomducookie");
Le date_exp pouvant être changé, le myDomain se determinant tout seul comme un grand.
[^] # Re: Cookies
Posté par Jean-Philippe (site web personnel) . En réponse au message Menu arborescent pliable et conservation de l'état lors de la navigation. Évalué à 3.
Apres il suffit de faire un
SetCookie("nomducookie",valeurducookie,date_exp,myDomain);
et
GetCookie("nomducookie");
Le date_exp pouvant être changé, le myDomain se determinant tout seul comme un grand.
(pub honteuse) Des exemples à la pelle ici:
http://src.momo.servegame.org/algo/