[JAVASCRIPT] variable globale à plusieurs pages

variable globale à plusieurs pages [JAVASCRIPT] - HTML/CSS - Programmation

Marsh Posté le 21-01-2003 à 11:00:56    

Je veux placer un menu présent sur toutes les pages de mon site, et je veux pouvoir indiquer sur quelle rubrique a cliqué l'utlisateur(image de couleur differente pour la rubrique courante).
Pour cela je voudrais conserver cette information (rubrique selectionnée) dans une variable javascript, afin de pouvoir la relire au chargement de la page suivante. Comment faire ???

Reply

Marsh Posté le 21-01-2003 à 11:00:56   

Reply

Marsh Posté le 21-01-2003 à 11:09:15    

Je ne suis pas expert, mais je ne suis pas certain que JS, malgré ses énormes possibilités, te permette de faire ce que tu désires. Peux-tu passer par PHP ?


---------------
Le site de ma maman
Reply

Marsh Posté le 21-01-2003 à 11:47:23    

Cherrytree a écrit :

Je ne suis pas expert, mais je ne suis pas certain que JS, malgré ses énormes possibilités, te permette de faire ce que tu désires. Peux-tu passer par PHP ?


 
C'est ce que je voulais eviter !

Reply

Marsh Posté le 21-01-2003 à 11:50:25    

gaell a écrit :


 
C'est ce que je voulais eviter !

Le problème c'est que les appels sur les fichiers en JS sont read-only, donc tu ne peux rien sauvegarder comme état. Tu peux en revanche concevoir un site tout dynamique, sur une seule page, avec des block (cellules, div, span) dont le contenu varie dynamiquement. Mais bon, c'est pas une bonne méthode. C'est en revanche la seule que je voies.


---------------
Le site de ma maman
Reply

Marsh Posté le 21-01-2003 à 13:19:36    

en JS, peut on écrire et lire un cookie? (c'est une question, mais je crois que oui)
 
donc si c faisable, tu stockes tes infos dans un cookie et tu peux les récupérer sur une autre page.

Reply

Marsh Posté le 21-01-2003 à 13:36:12    

dropsy a écrit :

en JS, peut on écrire et lire un cookie? (c'est une question, mais je crois que oui)
 
donc si c faisable, tu stockes tes infos dans un cookie et tu peux les récupérer sur une autre page.

Ah,il y a cette solution, c'est vrai. Là voilà ta solution.


---------------
Le site de ma maman
Reply

Marsh Posté le 21-01-2003 à 22:20:09    

la meilleure solution je pense c de faire ton site sur un frameset,
tout ton contenu sera affiché dans un frame qui prendra 100% de la taille de l'écran ...
comme ça, dans la page qui contient tes frames, tu peux mettre des variables très facielement, par exemple la variable
 
page_courrante = "section_1"
...etc..
 
ces variables sont du coup accessibles depuis n'importe ou, en mettant simplement
 
top.page_courrante
 
 
du coup au moment ou t'affiches tes pages tu fais
 
document.getElementById(top.page_courrante).className = "page_en_cours";
 
en supposant que tu as défini une classe CSS page_en_cours
 
 
 
voilà ;)

Reply

Marsh Posté le 21-01-2003 à 22:21:14    

Yuck! [:vomi]


---------------
Le site de ma maman
Reply

Marsh Posté le 21-01-2003 à 22:23:09    

Cherrytree a écrit :

Ah,il y a cette solution, c'est vrai. Là voilà ta solution.


on peut récupérer les paramètres passés a la page aussi il me semble... a vérifier quand même

Reply

Marsh Posté le 21-01-2003 à 22:23:42    

:'( c koi le blème :'( c super top comme solution!

Reply

Marsh Posté le 21-01-2003 à 22:23:42   

Reply

Marsh Posté le 21-01-2003 à 22:24:31    

lorill a écrit :


on peut récupérer les paramètres passés a la page aussi il me semble... a vérifier quand même


 
ouais en effet tu peux en accdant par
 
window.src
 
 
et là il te crache l'url en cours .. donc après tu peux la parser et savoir dans quelle section tu te trouves

Reply

Marsh Posté le 21-01-2003 à 22:24:55    

k666 a écrit :

:'( c koi le blème :'( c super top comme solution!


- c'est crade
- les frames c'est mal pour le moment

Reply

Marsh Posté le 21-01-2003 à 22:28:14    

bin j'ai justement le même problème en ce moment, il faut que je fasse une mini application offline, et j'ai été super content de retrouver les bonnes vieilles frames ;)

Reply

Marsh Posté le 21-01-2003 à 22:31:07    

Les frames c'est bon, mangez-en :D


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 22-01-2003 à 00:33:30    

lorill a écrit :


on peut récupérer les paramètres passés a la page aussi il me semble... a vérifier quand même


 
en effet, c bien aussi de parser l'url.

Reply

Marsh Posté le 24-01-2003 à 00:40:44    

En fait, ça dépends du nombre de variable, si il n'y en a que tres peu, effectivement c'est probablement plus simple et plus propre de passer par l'adresse ex :
 
http://www.monsite.com/index.htm?var1=val1&var2=val2& ...
 
et apres tu décompose l'adresse en js et tu récupere les variables et leur valeur (il existe des scripts tout fait pour faire ça)
 
Si tu as des dixaines de variables à garder en js la seule solution c'est un frameset qui contient une seule frame, tu declare tes variables au niveau du frameset.
 
Je ne vois pas en quoi ça peut poser un probleme...
 
La mode aujourd'hui c'est de dire les frames c'est de la m...
C'est (ou c'était) globalement vrai mais ça dépends quand même des cas (et des contraintes).
Certain le répete sans réfléchir (et sans se lasser) mais pourquoi les frames sont critiquées, c'est uniquement pour deux raison :
 
elles n'ont (ou n'avaient) pas le même comportement sur les différents navigateurs.
> Mais dans ce cas de figure je serait curieux de savoir comment on peut afficher une frame unique de différentes manières
 
elles posait des problèmes de performance sur les vielles machines.
> Mais aujourd'hui c'est pas l'affichage de quelques frames qui va mettre un P2500 à genoux ...
 
L'idée de K666 est a mon avis un excellent choix !
 
elles posait des prblèmes de performance sur les vielles machines.
> Mais aujourd'hui c'est pas l'affichage de quelques frames qui va mettre un P2500 à genoux ...
 
L'idée de K666 est a mon avis un excellent choix !


Message édité par fifiz le 24-01-2003 à 21:17:28
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed