Newsgroup: it.comp.lang.javascript
Titolo: Scambio valori tra pagine di frames diversi

Sto realizzando (almeno spero) una specie di gioco interattivo in formato
html + Js,
riesco a scambiare delle informazioni tramite una form posta in un frame
nascosto, settando e leggendo la proprietà value.
Purtroppo alcuni frames, devono aggiornarsi ad agni "passo" (una aggiorna le
variabili e poi fa ricaricare l'altra), ed a volte sembra che non si
coordinino bene tra loro.
 Oltretutto ho dei problemi per quanto riguarda l'esecuzione degli script:
Una frame carica uno script esterno così:
<script src="nomefile.js" language="Javascript1.2"></script>
dove ci sono (saranno) numerose funzioni che andranno a scrivere
direttamente sul documento.
all'interno del BODY ho inserito una cosa del genere:
<script>
    funz_preliminare();    // legge le variabile dalla frame invisibile
    funz_principale();    // a seconda dei valori letti viene prodotta
(document.write(...) )  la pagina di interesse
    funz_aggiorna_form_variabili();    // poi vengono riaggiornate le
variabili nel frame nascosto
    funz_ricaricamento_frames();    // ricarica l'altra frame in modo che si
rinnovi dinamicamente
</script>
L'ultima funzione contiene il comando
top.frames.nomeframe.location.reload();
ma nessuna di queste funzioni viene eseguita.
scusate per il post lungo ma qualcuno saprebbe spiegarmi se è possibile
scambiare dati più facilmente e come manipolare meglio le pagine con il
metodo write()
grazie in anticipo,
--
Alessio
--------------------------------------------------------------
Home: 
http://space.tin.it/io/gdcap

 [snip]
Non credo di aver completamente capito il tuo problema, quindi la butto li'
un po' generica...
Per "comunicare" tra due frame in genere e' sufficiente far riferimento al
"percorso completo" della variabile. Mi spiego: se nel frame A definisci una
variabile che si chiama Pippo, dal frame B puoi usarla indicandola con
top.nomeDelFrameA.Pippo
Oppure, per comunicare valori da B ad A, puoi utilizzare la querystring,
qualcosa del tipo
top.nomeDelFrameA.location="paginaDelFrameA.htm?Pippo=valore+di+pippo&Pluto=
qualcosa&Topolino=qualcosaltro"
Dopodiche' in "paginaDelFrameA.htm" fai un parsing della querystring,
estraendone i valori delle variabili Pippo, Pluto e Topolino..
Non so se ti sono stato d'aiuto, spero di si'...
Alx

 Non so se ti sono stato d'aiuto, spero di si'...
Sě grazie, effettivamente funziona ( io avevo provato con
top.frames.nomeframe.nomevariabile ).
Resta comunque il problema (magari sai pure questo) del perché se carico uno
script esterno (tipo una libreria di funzioni) con
<script src=...></script> all'interno della sezione  <head>, poi non posso
richiamarle da una sezione <script> messa nella parte <body>.
ciao,


 richiamarle da una sezione <script> messa nella parte <body>.
Be', mi suona strano... a me funziona! Ma lo provi in locale?
Alx


P.S:[curiosità] anche io spesso mi firmo Alx (però mi chiamo Alessio), e
deriva dal fatto che nei giochi da bar una volta potevi mettere solo 3
lettere ed Alex non c'entrava...

 lettere ed Alex non c'entrava...
:)) No, io no. Un giorno ho detto "be', se Axel dei Guns 'n' Roses si firma
Axl, allora io che sono Alex..."
Alx

 richiamarle da una sezione <script> messa nella parte <body>.
Impossibile! 
Gli script di solito si mettono proprio nell'HEAD perché vengano 
caricati per primi (prima del BODY) e siano disponibili proprio se 
invocati da altri script nella pagina.
Sicurmente, come ti ha detto anche Alex, hai qualche problema di 
sintassi o di navigazione tra i frames.
Personalmente prenderei in considerazione l'idea di mettere tutti gli 
script in un unico file .js da caricare nel frameset e di modificare le 
funzioni perché vadano a scrivere nel frame giusto.
Richiede un po' di lavoro, ma almeno sarai sicuro che siano subito 
pronti (il frameset viene caricato prima dei frames ed il HEAD prima del 
FRAMESET) e sopratutto che siano SEMPRE pronti.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
              All the JavaScript you need
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------