2010-09-07 11 views
1

Disons que j'ai une page qui fait référence à un fichier .js. Dans ce fichier, j'ai le code suivant qui définit la valeur d'une variable:Comment conserver les valeurs de variables entre des fichiers HTML?

var foo; 

function bar() 
    { 
    foo = //some value generated by some type of user input 
    } 

bar(); 

Maintenant, je voudrais être en mesure de naviguer vers une autre page qui fait référence au même script, et ont cette variable conserver la valeur fixé par bar(). Quelle est la meilleure façon de transporter la valeur de cette variable, en supposant que le script sera à nouveau exécuté une fois que j'arrive sur la page suivante?

Répondre

5

Vous pouvez utiliser des cookies.

Les cookies ont été inventés à l'origine par Netscape pour donner la 'mémoire' à la page Web serveurs et navigateurs. Le HTTP protocole , qui organise le transfert des pages web à votre navigateur et demandes navigateur pour les pages de serveurs, est moins état, ce qui signifie qu'une fois que le serveur a envoyé une page à un navigateur demandant, il ne se souvient pas d'une chose à ce sujet. Donc, si vous arriver à la même page Web une seconde, troisième, centième ou millionième fois, le serveur considère encore une fois le la première fois que vous êtes venu là-bas.

Cela peut être gênant dans un certain nombre de façons . Le serveur ne peut pas se rappeler si vous vous identifié quand vous voulez pour accéder aux pages protégées, il ne peut pas rappeler vos préférences utilisateur, il ne me rappelle rien. Dès que la personnalisation a été inventée, cette est devenue un problème majeur.

Les cookies ont été inventés pour résoudre ce problème . Il ya d'autres façons de résoudre , mais les cookies sont faciles à maintenir et très polyvalent.

Voir: http://www.quirksmode.org/js/cookies.html

3

Vous pouvez passer la valeur dans la chaîne de requête.
Lorsque l'utilisateur accède à l'autre page, ajoutez la valeur à la chaîne de requête et chargez-la dans la suivante.

+0

+1 tant qu'il n'y a pas d'informations « secret ». – peirix

1

Une autre option est jStorage. jStorage est probablement mieux utilisé pour les données mises en cache et les préférences utilisateur lossy (par exemple sauvé nom d'utilisateur dans un formulaire de connexion), car il ne dispose pas d'soutien du navigateur (mais IE6 + et la plupart des autres navigateurs courants prennent en charge) et ne peut être invoquée (comme les cookies).

Questions connexes