PDA

View Full Version : [Javascript]Variabili "super" globali


MEMon
17-02-2007, 15:29
Ho delle variabili che vorrei fossero in comune con diversi file js, è possibile?
Ad esempio, ho 3 file js:
A.js
B.js
variabili.js

nel file variabili.js ho una cosa del genere:
var pippo="ciao";
var pluto="mondo";

Ho bisogno che sia il file A che il B possano usufrire delle variabili pippo e pluto, ma non solo in lettura, anche in scrittura.
Quindi mi serve che se A modifica la variabile pippo, poi B la legga modificata.

Io per ora ho due pagine html, nella prima richiamo il file A.js e variabili.js, e nella secondo il file B.js e variabili.js.
Posso ovviamente usufrire delle variabili, ma se B le modifica, A le legge ancora come se non fossero mai state modificate.
Speravo che fosse un po' come le classi del java quando si importa una file js, ma non è così.

Come posso fare?

andbin
17-02-2007, 15:46
Io per ora ho due pagine html, nella prima richiamo il file A.js e variabili.js, e nella secondo il file B.js e variabili.js.Se ho capito bene, la tua situazione è:
PaginaA.html ---> A.js
\---> variabili.js

PaginaB.html ---> B.js
\---> variabili.jsDevi però tenere presente che il "contesto" di Javascript è legato solo alla pagina corrente caricata nel browser.
Se apri la PaginaA.html, che carica prima variabili.js e poi A.js, puoi fare le modifiche che vuoi alle variabili dichiarate in variabili.js. Ma ovviamente se poi apri un'altra pagina, es. PaginaB.html, hai un nuovo contesto. Insomma ... il contesto di esecuzione di Javascript non passa (e non è visibile) da una pagina all'altra.

MEMon
17-02-2007, 15:49
Come immaginavo... ti ringrazio, cercherò altre soluzioni :D

cionci
18-02-2007, 13:29
Una soluzione potrebbe essere un frame nascosto in cui depositi tutto il codice e interagisce chiamando altre funzioni js delle pagine negli altri frame, ma non so se è applicabile alla tua soluzione e più che altro utilizza i frame che non sono il massimo dell'eleganza.