Newsgroup: it.comp.lang.javascript
Titolo: Finestre orfane

Ciao a tutti,
vi espongo il mio problema:
Ho una finestra padre e n finestre figlie.
In seguito ad alcuni eventi capita che la finestra padre debba ricaricare,
perdendosi tutte le referenze alle finestre figlie.
Come posso fare per recuperare le referenze alle finestre figlie? Esiste
nella gerarchia degli oggetti di javascript qualcosa che stia al di sopra di
windows e che contenga appunto tutte le finestre aperte in quella sessione?
Grazie a tutti.
S.

Dimenticavo: uso explorer 5.5

 windows e che contenga appunto tutte le finestre aperte in quella sessione?
No, primo perche' non c'e' niente che tu, scripter, possa usare che sta 
"al di sopra di window", in quanto ogni cosa discende da esso.
Secondo, in JS non c'e' il concetto di "sessione" come lo intendi tu. La 
vita di uno script inizia e termina con la pagina in cui viene eseguito. 
Se carichi nel browser una pagina differente, o ricarichi la solita, 
tutto cio' che era in memoria viene distrutto.
Il metodo piu' semplice sarebbe quello di mettere la pagina in un 
frameset, con un frame invisibile. In questo modo se anche ricarichi il 
frame "visibile" i riferimenti non vengono persi perche' stanno in un 
frame diverso.
Va da se' che se l'utente fa un "reload" del frameset, perdi cmq ogni 
riferimento.
Ci sarebbe anche un'altro tipo di soluzione piu' smaliziata, ma e' 
decisamente un po' piu' complessa (concettualmente, e' semplicissima. 
Nella pratica, bisogna tener conto di particolari casistiche).
Ma tutto questo ti serve per un sito, o per una web-
application/intranet?
Inoltre: per quale motivo necessiti di avere "n" finestre figlie 
contemporaneamente, e devi ricaricare la pagina "mantenendo" il 
riferimento ad esse? Normalmente in un sito e' difficile che accada.
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)


Cliente schizofrenico?
In realtà abbiamo una finestra con i dettagli relativi il nostro oggetto di
business, e da lì è possibile fare delle consultazioni su altri oggetti.
Questo porta ad aprire delle nuove finestre figlie.
Se però chiudo il padre le finestre figlie devono chiudersi. Il problema
nasce quando refresho il padre, che poi non può più chiudere le figlie
quando viene chiuso esso stesso perchè nel refresh perde i riferimenti alle
finestre create.
Ecco perchè confidavo nella presenza di qualcosa che mi consentisse di
mantenere i riferimenti.
In realtà ho trovato delle soluzioni poco pulite.
1) Quella del frame invisibile mi è venuta a pranzo ma il programmatore non
ne vuole sapere perchè deve modificarne un sacco
2) Ho pensato a una finestra temporanea che si apre per il refresh e
contiene i riferimenti e li ripassa al padre ma mi fa davvero ribrezzo.
3) Si potrebbe mettere nella request il riferimento ma non sono sicuro che
funzioni.
Spero (ma dubito) di esser stato chiaro...
Grazie

 funzioni.
"request" non fa parte di JS. Mi stai parlando di ASP, suppongo. Lascia 
perdere, avessi modo di riferirti alle finestre tramite hwnd sarebbe un 
conto, ma non puoi passare riferimenti ad oggetti window al server e poi 
ripescarli nudi e crudi.


 "al di sopra di window", in quanto ogni cosa discende da esso.
Questa me la segno per il modo "biblico" con cui l'hai scritta... :-)))
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO e metti un .

 Questa me la segno per il modo "biblico" con cui l'hai scritta... :-)))
Uhm.. la cosa potrebbe quasi incominciare a preoccuparmi, non vorrei che 
pian piano incominci ad urlare "infedeli" a destra e manca.. 8)
