begin process at 2010 08 01 01:32:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Cookies

 > LES COOKIES ET JAVASCRIPT

LES COOKIES ET JAVASCRIPT


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Cookies Classé sous :cookie, objet, object, POO Niveau :Débutant Date de création :05/11/2009 Date de mise à jour :13/11/2009 18:14:54 Vu / téléchargé :2 325 / 68

Auteur : Zestyr

Ecrire un message privé
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Comme la propriété cookie de l'objet document de l'objet window (window.document.cookie) est assez complexe a mettre en place et à exploiter, je vous propose cet objet. (compatible IE, FF, Opera, Google chrome)

Source

  • function Cookie(sName, sFormat, sValue)
  • {
  • var argc = Cookie.arguments.length;
  • /*attributes*/
  • if(sFormat != "GET" && sFormat != "get")
  • {
  • this.name = sName;
  • this.format = sFormat;
  • this.value = (argc > 2) ? (sValue) : ("");
  • date_exp = new Date();
  • date_exp.setTime(date_exp.getTime()+((argc > 2) ? (iExpiration) : (365*24*3600)));
  • this.expiration = date_exp;
  • if(this.format == "JSON"){this.value = this.name+'={anonymousAttribute:""};';}
  • if(argc > 1){this.saveCookie();}
  • }
  • if(sFormat == "GET" || sFormat == "get")
  • {
  • this.name = sName;
  • this.value = this.getCookie(sName);
  • date_exp = new Date();
  • date_exp.setTime(date_exp.getTime()+((argc > 2) ? (iExpiration) : (365*24*3600)));
  • this.expiration = date_exp;
  • this.format = (/=\{.+\};/i.test(this.value)==true) ? "JSON" : "STR";
  • }
  • }
  • /* Methodes */
  • Cookie.prototype.getCookieVal = function(offset)
  • {
  • var endstr=document.cookie.indexOf (";", offset);
  • if (endstr==-1)
  • endstr=document.cookie.length;
  • return unescape(document.cookie.substring(offset, endstr));
  • };
  • Cookie.prototype.getCookie = function (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 Cookie.prototype.getCookieVal (j);
  • }
  • i=document.cookie.indexOf(" ",i)+1;
  • if (i==0){break;}
  • }
  • return null;
  • };
  • Cookie.prototype.saveCookie = function ()
  • {
  • var expires= this.expiration;
  • document.cookie=this.name+"="+escape(this.value)+((expires==null) ? "" : ("; expires="+expires.toGMTString()))+""+""+"";
  • if(this.format == "JSON")
  • {
  • eval("this.attributes="+(this.value.substring(this.value.lastIndexOf("{"),this.value.lastIndexOf(";")))+";");
  • }
  • };
  • Cookie.prototype.setValue = function (newValue, bContinue)
  • {
  • if(this.format == "STR")
  • {
  • this.value = (bContinue == false) ? newValue : this.value+newValue;
  • Cookie.prototype.saveCookie();
  • return true;
  • }
  • else
  • {
  • this.value = newValue;
  • Cookie.prototype.saveCookie();
  • return true;
  • }
  • };
  • Cookie.prototype.setExpire = function (iExpire, sUnity)
  • {
  • var eArgv = this.setExpire.arguments;
  • var eArgc = this.setExpire.arguments.length;
  • if(eArgc >= 1 && sUnity != "until"){FoU = "for";}
  • if(eArgc > 1 && sUnity == "until"){FoU = "until";}
  • if(FoU == "for")
  • {
  • if(sUnity == "secondes" || sUnity == "s" || sUnity == undefined || sUnity == "sec")
  • {
  • date_exp.setTime(date_exp.getTime()+(iExpire));
  • this.expiration = date_exp;
  • }
  • if(sUnity == "heures" || sUnity == "h" || sUnity == "hours")
  • {
  • date_exp.setTime(date_exp.getTime()+(iExpire*3600));
  • this.expiration = date_exp;
  • }
  • if(sUnity == "jours" || sUnity == "j" || sUnity == "d" || sUnity == "days")
  • {
  • date_exp.setTime(date_exp.getTime()+(iExpire*3600*24));
  • this.expiration = date_exp;
  • }
  • if(sUnity == "semaines" || sUnity == "sem" || sUnity == "weeks" || sUnity == "w")
  • {
  • date_exp.setTime(date_exp.getTime()+(iExpire*3600*24*7));
  • this.expiration = date_exp;
  • }
  • if(sUnity == "mois" || sUnity == "m" || sUnity == "month")
  • {
  • date_exp.setTime(date_exp.getTime()+(iExpire*3600*24*30));
  • this.expiration = date_exp;
  • }
  • if(sUnity == "annees" || sUnity == "a" || sUnity == "years" || sUnity == "y" || sUnity == "années")
  • {
  • date_exp.setTime(date_exp.getTime()+(iExpire*3600*24*365));
  • this.expiration = date_exp;
  • }
  • }
  • if(FoU == "until")
  • {
  • jour = iExpire.split(/\//)[0];
  • mois = iExpire.split(/\//)[1];
  • annee = iExpire.split(/\//)[2];
  • timeStamp = ((parseInt(annee)-1970)*365*24*3600)+(parseInt(mois)*31*24*3600)+(parseInt(jour)*24*3600);
  • date_exp.setTime(timeStamp);
  • this.expiration = date_exp;
  • }
  • Cookie.prototype.saveCookie();
  • };
  • Cookie.prototype.cookieEnabled = function()
  • {
  • return navigator.cookieEnabled;
  • };
  • Cookie.prototype.removeCookie = function(name)
  • {
  • var exp = new Date();
  • exp.setTime(exp.getTime() - 100000);
  • var cValue = Cookie.prototype.getCookie(name);
  • document.cookie = name+"="+cValue+"; expires="+exp.toGMTString();
  • };
  • Cookie.prototype.addAttribute = function(sAttribute, sValue)
  • {
  • if(this.format == "JSON")
  • {
  • this.value = this.value.substring(0, this.value.lastIndexOf("};"));
  • this.value += ","+sAttribute+':"'+sValue+'"';
  • this.value += "};";
  • Cookie.prototype.saveCookie();
  • return true;
  • }
  • else
  • {
  • return false;
  • }
  • };
  • Cookie.prototype.resetCookie = function()
  • {
  • if(this.format == "STR")
  • {
  • this.value = "";
  • }
  • if(this.format == "JSON")
  • {
  • this.name+'={anonymousAttribute:""};';
  • }
  • Cookie.prototype.saveCookie();
  • return true;
  • };
  • Cookie.prototype.deleteAttribute = function(sAttributeName)
  • {
  • if(this.format == "JSON")
  • {
  • eval(this.value)
  • eval('sAttribute = '+this.name+'[sAttributeName];');
  • var reg = new RegExp(','+sAttributeName+':"'+sAttribute+'"');
  • this.value = this.value.replace(reg, "");
  • Cookie.prototype.saveCookie();
  • return true;
  • }
  • else
  • {
  • return false;
  • }
  • };
  • Cookie.prototype.editAttribute = function(sAttributeName, sNewValue)
  • {
  • if(this.format == "JSON")
  • {
  • Cookie.prototype.deleteAttribute(sAttributeName);
  • Cookie.prototype.addAttribute(sAttributeName, sNewValue);
  • return true;
  • }
  • else
  • {
  • return false;
  • }
  • };
  • Cookie.prototype.setFormat = function(sFormat)
  • {
  • if(sFormat == "STR" || Sformat == "JSON")
  • {
  • this.format = sFormat;
  • return true;
  • }
  • else
  • {
  • return false;
  • }
  • };
  • /* Exemple d'utilisation */
  • cookie1 = new Cookie("cook1", "STR", "okay");
  • alert(cookie1.value);
  • cookie2 = new Cookie("cook2", "JSON")
  • cookie2.addAttribute("cookie1", cookie2.getAttribute("cook1"));
  • alert(cookie2.attributes.cookie1);
function Cookie(sName, sFormat, sValue)
{
	var argc = Cookie.arguments.length;
	
	/*attributes*/
	if(sFormat != "GET" && sFormat != "get")
	{
		this.name = sName;
		this.format = sFormat;
		this.value = (argc > 2) ? (sValue) : ("");
		date_exp = new Date();
		date_exp.setTime(date_exp.getTime()+((argc > 2) ? (iExpiration) : (365*24*3600)));
		this.expiration = date_exp;
		if(this.format == "JSON"){this.value = this.name+'={anonymousAttribute:""};';}
		if(argc > 1){this.saveCookie();}
	}
	if(sFormat == "GET" || sFormat == "get")
	{
		this.name = sName;
		this.value = this.getCookie(sName);
		date_exp = new Date();
		date_exp.setTime(date_exp.getTime()+((argc > 2) ? (iExpiration) : (365*24*3600)));
		this.expiration = date_exp;
		this.format = (/=\{.+\};/i.test(this.value)==true) ? "JSON" : "STR";

	}
}

/* Methodes */
Cookie.prototype.getCookieVal = function(offset) 
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1)
	endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
};
Cookie.prototype.getCookie = function (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 Cookie.prototype.getCookieVal (j);
		}
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0){break;}
	}
		return null;
};
Cookie.prototype.saveCookie = function ()
{
	var expires= this.expiration;
	document.cookie=this.name+"="+escape(this.value)+((expires==null) ? "" : ("; expires="+expires.toGMTString()))+""+""+"";
	if(this.format == "JSON")
	{
		eval("this.attributes="+(this.value.substring(this.value.lastIndexOf("{"),this.value.lastIndexOf(";")))+";");
	}
};
Cookie.prototype.setValue = function (newValue, bContinue)
{
	if(this.format == "STR")
	{
		this.value = (bContinue == false) ? newValue : this.value+newValue;
		Cookie.prototype.saveCookie();
		return true;
	}
	else
	{
		this.value = newValue;
		Cookie.prototype.saveCookie();
		return true;
	}
};
Cookie.prototype.setExpire = function (iExpire, sUnity)
{
	var eArgv = this.setExpire.arguments;
	var eArgc = this.setExpire.arguments.length;
	if(eArgc >= 1 && sUnity != "until"){FoU = "for";}
	if(eArgc > 1 && sUnity == "until"){FoU = "until";}
	if(FoU == "for")
	{
		if(sUnity == "secondes" || sUnity == "s" || sUnity == undefined || sUnity == "sec")
		{
			date_exp.setTime(date_exp.getTime()+(iExpire));
			this.expiration = date_exp;
		}
		if(sUnity == "heures" || sUnity == "h" || sUnity == "hours")
		{
			date_exp.setTime(date_exp.getTime()+(iExpire*3600));
			this.expiration = date_exp;
		}			
		if(sUnity == "jours" || sUnity == "j" || sUnity == "d" || sUnity == "days")
		{
			date_exp.setTime(date_exp.getTime()+(iExpire*3600*24));
			this.expiration = date_exp;
		}	
		if(sUnity == "semaines" || sUnity == "sem" || sUnity == "weeks" || sUnity == "w")
		{
			date_exp.setTime(date_exp.getTime()+(iExpire*3600*24*7));
			this.expiration = date_exp;
		}	
		if(sUnity == "mois" || sUnity == "m" || sUnity == "month")
		{
			date_exp.setTime(date_exp.getTime()+(iExpire*3600*24*30));
			this.expiration = date_exp;
		}	
		if(sUnity == "annees" || sUnity == "a" || sUnity == "years" || sUnity == "y" || sUnity == "années")
		{
			date_exp.setTime(date_exp.getTime()+(iExpire*3600*24*365));
			this.expiration = date_exp;
		}	
	}
	if(FoU == "until")
	{
		jour = iExpire.split(/\//)[0];
		mois = iExpire.split(/\//)[1];
		annee = iExpire.split(/\//)[2];
		timeStamp = ((parseInt(annee)-1970)*365*24*3600)+(parseInt(mois)*31*24*3600)+(parseInt(jour)*24*3600);
		date_exp.setTime(timeStamp);
		this.expiration = date_exp;
	}
	Cookie.prototype.saveCookie();
};
Cookie.prototype.cookieEnabled = function()
{
	return navigator.cookieEnabled;
};
Cookie.prototype.removeCookie = function(name) 
{
	var exp = new Date();
	exp.setTime(exp.getTime() - 100000);
	var cValue  = Cookie.prototype.getCookie(name);
	document.cookie = name+"="+cValue+"; expires="+exp.toGMTString();
};
Cookie.prototype.addAttribute = function(sAttribute, sValue)
{
	if(this.format == "JSON")
	{
		this.value = this.value.substring(0, this.value.lastIndexOf("};"));
		this.value += ","+sAttribute+':"'+sValue+'"';
		this.value += "};";
		Cookie.prototype.saveCookie();
		return true;
	}
	else
	{
		return false;
	}
};
Cookie.prototype.resetCookie = function()
{
	if(this.format == "STR")
	{
		this.value = "";
	}
	if(this.format == "JSON")
	{
		this.name+'={anonymousAttribute:""};';
	}
	Cookie.prototype.saveCookie();
	return true;
};
Cookie.prototype.deleteAttribute = function(sAttributeName)
{
	if(this.format == "JSON")
	{
		eval(this.value)
		eval('sAttribute = '+this.name+'[sAttributeName];');
		var reg = new RegExp(','+sAttributeName+':"'+sAttribute+'"');
		this.value = this.value.replace(reg, "");
		Cookie.prototype.saveCookie();
		return true;
	}
	else
	{
		return false;
	}
};
Cookie.prototype.editAttribute = function(sAttributeName, sNewValue)
{
	if(this.format == "JSON")
	{
		Cookie.prototype.deleteAttribute(sAttributeName);
		Cookie.prototype.addAttribute(sAttributeName, sNewValue);
		return true;
	}
	else
	{
		return false;
	}
};
Cookie.prototype.setFormat = function(sFormat)
{
	if(sFormat == "STR" || Sformat == "JSON")
	{
		this.format = sFormat;
		return true;
	}
	else
	{
		return false;
	}
};

/* Exemple d'utilisation */
cookie1 = new Cookie("cook1", "STR", "okay");
alert(cookie1.value);

cookie2 = new Cookie("cook2", "JSON")
cookie2.addAttribute("cookie1", cookie2.getAttribute("cook1"));
alert(cookie2.attributes.cookie1);



 Conclusion

Méthodes et attributs de la class pour l'utilisateur:
    
      Méthodes:
          - setValue([string] sValue, [boleen] bContinue):
                    Modifie la valeur du cookie,
                    l'argument bContinue indique s'il on écrit à la suite du cookie ou si on efface tout pour réécrire par dessu

          - saveCookie():
                    Sauvegarde votre cookie, cette méthode est appelée à chaque fois que une modification est apportée

          - setExpire([string] sExpire, [string] sUnity):
                     Modifie le délai du cookie,
                     la chaine de caractères sExpire est la valeur et sUnity est l'unitée utilisée (secondes, jour, mois)
                    
          - getCookie(name):
                  retourne la valeur du cookie voulu

          - removeCookie(name):
                   efface un cookie.

          - resetCookie():
                   reinitialise le cookie sans qu'il perde son format, utile au format JSON sinon il suffit de réinitialiser la value.

           - addAttribute(sAttribute, sValue):
                   (dans un cookie au format JSON), ajoute un attribut au cookie

          - deleteAttribute(sAttributeName):
                   suprime l'attribut dont le nom est passé en argument

          - editAttribute(sAttributeName, sNewValue)
                  modifie la valeur de l'attribut dont le nom est passé en argument  

          - setFormat(sFormat):
                  configure le format.
             retourne false si le format passé en argument est erroné



       Attributs:
      
          name: nom du cookie
          value: valeur du cookie
          format: format du cookie /!\ changer avec précotion
          attributes: Sous objet contenant les attributs du cookie (ex: attributes.anonumousAttribute) /!\ immodifiable, juste pour info

/!\ Attention si vous modifiez ces valeur sans passer par des accesseur (methodes) utiliser la methode saveCookie() pour sauvegarder.

/!\ NE vous préocuper des autres méthodes, sauf si vous voulez améliorer ce code.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

07 novembre 2009 21:02:50 :
J'ai ajouter la méthode removeCookie() et j'ai modifier la méthode setExpire()
08 novembre 2009 18:07:12 :
Possibilité de créer des cookies au format JSON
08 novembre 2009 18:23:44 :
ajout des methodes en conclusion
13 novembre 2009 18:14:54 :
==>

 Sources du même auteur

Source avec Zip Source avec une capture RÉSOUDRE UNE ÉQUATION EN 6 ÉTAPES

 Sources de la même categorie

COOKIES EN JAVASCRIPT par CodeurleGeek
Source avec Zip MULTI-BLOC-NOTE(AVEC COOKIES!) par DomJ
Source avec Zip LES VINGTS JOLIS COOKIES par cornofulgur
Source avec Zip AJOUTER, SUPPRIMER, LIRE COOKIE! par DomJ
POUR SAVOIR SI UN COOKIE A ÉTÉ STOCKÉ SUR VOTRE DISQUE DUR L... par Mike SN53477

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DEMINEUR JAVACSCRIPT | PHP, CONFIGURABLE AVEC LE FRAMWORK JQ... par Nementon
Source avec Zip Source avec une capture [DSI] DÉPLACEMENTS SUR IMAGES par Bul3
Source avec Zip Source avec une capture [ZI] ZOOM (LOUPE) SUR IMAGE par Bul3
Source avec Zip Source avec une capture POST-IT POUR LE WEB par jululu
Source avec Zip Source avec une capture [PC] PRÉFÉRENCES : CLASSEMENT par Bul3

Commentaires et avis

Commentaire de Kimjoa le 07/11/2009 17:02:54 10/10

tu codes en objet , mais qu'avec des closures, utilise le prototype.

Pas de méthode remove cookies?

Pour setExpire , ca n'aurait pas été mieux de passer une date d'expiration?

Sinon une fonction souvent utilisé , c'est de pouvoir écrire un cookie au format JSON, et de l'évaluer lors d'un get

Une bonne note pour t'encourager ;)

Sinon c'est bien codée a++

Commentaire de Zestyr le 07/11/2009 21:10:35

Merci pour ton message et ta note:
    - j'avais oublier removeCookie() (bien vu)
    - j'ai ajouté une option pour mettre la date d'expiration:
objCookie.setExpire("10/09/2012", "until");

A quoi me servirait le prototype ?

Peux tu m'éclaircir sur tes cookie au format JSON ?

Commentaire de Kimjoa le 07/11/2009 21:49:41

concernant le prototype, c'est juste une question de mémoire, sans, tu déclares pour chaque instance de nouvelles fonctions, avec, lors d'un getter, l'interpréteur va chercher la propriété d'abord dans l'instance puis dans les chaines de prototypes.

pour le JSON, ca permet de récupérer plusieurs valeurs pour un seul appel. De plus ca permet de na pas connaitre ses valeurs, et donne un aspect dynamique. Le problème c'est qu'il faut sérialiser l'objet, mais il existe déjà plein de fonction toute faite sur le web

bye

Commentaire de Zestyr le 08/11/2009 00:17:14

Avec le prototype, le code sera interpréter plus rapidement ?

Pour le JSON, bonne idée, je pense que je vais donc devoir complètement repenser mon code.

Commentaire de Kimjoa le 08/11/2009 13:22:43

pour le prototype aucune idée, en faite je pense que ca dépend de plusieurs facteurs, par exemple dans ton code il est rare que pour un objet cookie on fasse appel à toutes ses méthodes, alors que toi tu perds du 'temps' à toutes les déclarer. Dans le cas contraire, et si on appel beaucoup de fois toutes ses méthodes, alors peut-être que ses plus rapide sans prototype, car comme je l'ai l'interpréteur va chercher d'abord dans l'instance avant le prototype...

mais bon c'est surtout une question de mémoire, et la différence entre l'exécution d'une méthode de prototype , et une méthode déclarer dans l'instance (closure) est tros minime pour qu'on en tienne compte, mais tu peux faire un bench pour en être sur!!

bye

Commentaire de Kimjoa le 08/11/2009 13:38:05

me suis amuser a faire un bench sur les prototype , le voici

//déclaration des classes
  function test1(){this.methode = function(){}}
  
  function test2(){}
  test2.prototype.methode = function(){};
  
  
  var obj1 = new test1();
  var start = new Date();
  for(var i = 0; i < 10000000; i++)
      obj1.methode();
  alert("temps d'éxécution d'une méthode déclarer dans l'instance : " + (new Date() - start) + "m/s");
  
  
  //test d'éxécution d'une méthode avec prototype
  var obj2 = new test2();
  var start = new Date();
  for(var i = 0; i < 10000000; i++)
      obj2.methode();
  alert("temps d'éxécution d'une méthode déclarer dans le prototype : " + (new Date() - start) + "m/s");
  
  //test d'instanciation avec prototype
  var start = new Date();
  for(var i = 0; i < 100000; i++)
      new test1();
  alert("temps d'instanciation d'un objet sans prototype : " + (new Date() - start) + "m/s");
  
  //test d'instanciation avec prototype
  var start = new Date();
  for(var i = 0; i < 100000; i++)
      new test2();
  alert("temps d'instanciation d'un objet avec prototype : " + (new Date() - start) + "m/s");  

conclusion :
l'exécution d'une méthode de prototype est 50% moi rapide que une closure
l'instanciation d'un objet comprenant que une méthode , est 500% plus rapide dans une classe déclarant sa méthode dans le prototype

Commentaire de Zestyr le 08/11/2009 18:12:02

Voila, mon code permet maintenant de créer des cookies au format JSON soit de définir plusieurs attributs.

En conclusion de tes test: les méthodes les moins utiles doivent etre instanciées avec le prototype pour augmenter la performance de mon code?

j'att ta confirmation avant de me lancer dans ça ++

Commentaire de Kimjoa le 09/11/2009 13:42:09

avec le teste ci dessus , un petit calcule fera l'affaire, pour savoir à partir de combien d'appel minimum d'une méthode, est il plus avantageux de la déclarer à l'instance... mais en générale on préfère le prototype, pour ton code t'en as pour 2 min ;)

bye

Commentaire de Zestyr le 10/11/2009 18:38:59

Enfait la la flem de tout changer, tout les this en Cookie, mais je le ferais plus tard, pour l'instant ce code a quand même le mérite d'être opérationnel.Merci Kimjoa pour m'avoir aider à l'améliorer.

Ps: j'ai créer un tit jeu de calcul mental multijoueur en Jscript sous MsgPlus, quelqu'un sait-il s'il est possible de activer/désactiver la Calculatrice Windows avec la base de registres, quel est la clef, Merci.

Commentaire de Zestyr le 13/11/2009 18:31:52

C bn j'ai changer le code, mais j'ai laissé les attributs dans les closures.

Ps: le prototype est interpréter en premier:

function ClassA()
{
   this.attr1 = this.attr2;
}
ClassA.prototype.attr2 = "okay";

function ClassB()
{
   this.attr1 = "okay";
}
ClassB.prototype.attr2 = this.attr1;


var objA = new ClassA();
var objB = new ClassB();
alert(objA.attr1); //alerte "okay"
alert(objB.attr2); //alert undefined

Commentaire de W Bush le 07/03/2010 20:43:14 10/10

Bonjour,

J'aime beaucoup, c'est bien plus complet que tout ce que l'on peut trouver sur le sujet ^^

Merci pour ce bon code bien utile

Commentaire de Zestyr le 07/03/2010 22:18:04

De nada, ça fait plaisir !

Commentaire de W Bush le 24/05/2010 11:57:22

Tiens, bizarre, j'ai fait un petit bout de code et ça ne marche pas bien ...

Quand je ne fais pas de delete, ça me retourne undefined et quand je fais le delete, alors là il me donne bien le résultat :(

  parameters = new Cookie("parameters", "JSON");
  parameters.addAttribute("cook1", "test");
  parameters.deleteAttribute("cook1");

  alert("Valeur obtenue : " + parameters["cook1"]);

Une idée de l'origine de mon problème ? (ai-je 2 mains gauches ?)

Merci ^^

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Object() [ par revolt ] Bonjour, voici mon pb : On m'a donn&#233; un fichier ecrit en javascript qui utilise un objet appel&#233; API_78Ce fichier apelle des fonction que je Design pattern pour une factory [ par kankrelune ] Bonjour...Je suis en train de finir un code poo en javascript et je bloque sur un truc... je voudrais donc votre avis d'autant plus que javascript n'e Problème avec les propriétés d'un objet [ par wuconceptor ] Alors&nbsp; voil&#224;, j'ai une liste (SELECT) et quand je choisis une option j'aimerais que &#231;a me change la "visibility" de l'objet qui porte l [balise object] modifier dynamiquement un object [ par glanumf ] Bonjour a tous, J'arive pas a modifier une balise object de mon document HTML. Bon j'explique plus precisemment, j'ai mit un object dans ma page a loadXML et Firefox [ par epoc ] j'instancie un objet xml de cette mani&#232;re pour firefox : document.implementation.createDocument("", "", null) j'aimerais pouvoir faire un loadXML Chat Box PHP/Javascript/Html/Cookie ect... [ par zlitus ] Salut. Je suis en train de programmer un petit chat pour mon site. seulement j'ai un probleme, j'aimerai que le visiteur marque son pseudo au d&#233; Objet TDC activeX , recuperation valuer DATAFLD pour la placer dans une variable JavaScript [ par hambis ] Bonjour a tous Si vous pouvez m aider au problème suivant : J utilise l objet TDC Active X (I.Expl.) pour afficher une liste d articles contenu dans u AJAX, le status de mon objet est toujours égal à "0", please help me ! [ par romtrico064649 ] Bonjour,Je désire effectuer une request de type XMLHTTPRequest sur un fichier XML.Voici mon soucis, je m'explique :Le code ci dessous contient deux fo Liste liée - Formulaire [ par onylink ] Bonjour, J'essai de liées des listes dans un formulaire, mais après mon choix rien ne se passe.. Mais je n'ai pas d'erreur.. Page appelante :<pre clas object pdf cliquable? [ par couney21 ] Bonjours, Je voudrais rendre un PDF charger par html Réac


Nos sponsors


Sondage...

CalendriCode

Août 2010
LMMJVSD
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales