Passer une information
d'une application à l'autre
L'intérêt du cookie est d'être facilement réutilisable,
pas seulement d'une utilisation à l'autre du site, mais aussi
entre deux applications. Bien entendu, on pourrait stocker une information
dans un fichier texte (voire XML), mais il serait beaucoup plus difficile
de l'associer à une seule personne/un seul ordinateur, et le
code serait beaucoup plus long que si on utilisait simplement SharedObject.
Mais, comme nous l'avons vu, l'objet
partagé est stocké dans un répertoire spécifique
à une animation, et une animation ne peut lire que les cookies
qui lui sont attachés. La solution réside dans le
second argument de getLocal()
: on peut y préciser le chemin local permettant d'accéder
à l'objet. Pour partager les cookies de deux animations d'un
même domaine, il suffit ainsi de mettre "/"
comme chemin local...
Nous allons reprendre l'exemple de
notre compteur, qui cette fois fonctionnera au clic.
Dans une nouvelle animation, déposez un composant PushButton,
avec pour nom d'occurrence "bouton1".
Entrez ensuite le code suivant dans la 1ere image de la timeline
:
bouton1.setClickHandler("sauverLesClics");
function sauverLesClics()
{
cookie
= SharedObject.getLocal("test", "/");
if
(cookie.data.nbrClics == null || cookie.data.nbrClics == 0)
{
cookie.data.nbrClics
= 1;
}
else
{
cookie.data.nbrClics++;
}
cookie.flush();
}
Ici, un clic sur le bouton incrémentera
d'autant le compteur, stocké dans le cookie test,
dans un champ nbrClics.
La seconde animation ne comporte qu'un
champ dynamique, dont la variable se nomme "affichage".
On place le code suivant dans la 1ere image de la timeline
:
cookie = SharedObject.getLocal("test",
"/");
if (cookie.data.nbrClics == null || cookie.data.nbrClics == 0)
{
affichage = "Vous devez d'abord cliquer le premier bouton";
}
else
{
affichage = "Vous avez cliqué " + cookie.data.nbrClics
+ " fois sur le bouton.";
}
A chaque rechargement de la page, l'animation
va chercher le contenu du cookie, et affiche le résultat
correspondant.
Notez que les deux animations utilisent le chemin local "/".
Ce n'est là
qu'un partie des SharedObjects, qui comprennent aussi les Remote SharedObjects.
Nous creuserons plus en avant ce sujet dans un prochain article.
Page 1 | 2
|