Newsgroup: it.comp.lang.javascript
Titolo: Passaggio oggetti tra finestre.

Salve a tutti,
programmo in 
ASP.NET
. 
Intenzione: utilizzare il più possibile il lato client.
Per passare informazioni tra le finestre posso utilizzare il cookie, es.
document.cookie="primo=aaaa,secondo=bbbbb". Ma solo caratteri, stringhe,
no oggetti, es. array.
Per lo scambio tra le finestre utilizzo il seguente:
Prima form dichiaro una variabile a livello di maschera e successivamente
assegno l'oggetto.
Es.
var arr;    
   function costruzionearray()
   {arr=new Array(50);
	for (i=0;i <50;i++)
	{arr[i]="aa"+i;}}
con questo sistema assegno anche altri oggetti tipo caselle di testo.
Dalla finestra chiamata: 
<body onload="arraydaChiamante();">
var ar;
function arraydaChiamante()
{ar=window.opener.arr;}
quindi, anche se chiudo la finestra chiamante, nella chiamata mi resta la
variabile che punta all'oggetto.
Se chiudo la chiamata, il PostBack annulla la variabile.
Chiedo, fino a quanto posso utilizzare la memoria client per immagazzinare
oggetti ?
Se chiudo anche la finestra chiamata perdo il riferimento all'oggetto.
Devo concludere che è obbligatorio che almeno una finestra deve rimanere
aperta per il passaggio di oggetti ?
grazie
giuseppeD
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 aperta per il passaggio di oggetti ?
Certo, altrimenti sei in presenza di memory leaks, cosa non auspicabile.
Cosa accadrebbe se, quando chiudi un'applicazione, la memoria allocata da
quest'ultima non fosse mai deallocata? 
-- 
.ZER0//sign
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)
on air ~ "Oliver Onions - Sheriff"

Grazie per la risposta.
Visto che ci sono,
se ho due finestre indipendenti che conosco il nome,
è possibile accedere agli oggetti da una all'altra ?
Aggiungo, se ho due finestre che non dipendono la una dall'altra, esiste
un metodo, delle accortezze da utilizzare, per accedere da una all'interno
dell'altra per ricavare delle informazioni ?
(propabilmente è deformazione mentale di chi ha sviluppato principalmente
con le windows form)


 dell'altra per ricavare delle informazioni ?
Anche se non si tratta di "dipendenza", c'è sempre una relazione tra due
finestre. L'unico caso in cui non c'è una relazione, è laddove le finestre
sono state aperte dall'utente o laddove le finestre puntano a due domini
differenti. In quest'ultimo caso subentra la SOP (Same Origin Policy) che
ti impedisce di accedere dalla tua finestra ai contenuti dell'altra.
Esempio chiarificatore: dal tuo sito apri una popup su
http://www.google.it
. La finestra l'hai aperta tu, quindi ne hai un
riferimento, ma non puoi accedere ai contenuti dell'altra (viene generato
un errore di "Accesso Negato"). 
-- 
.ZER0//sign
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)
on air ~ "Bloc Party - So Here We Are"

 con un esempio.
Esempio: 
costruisco un oggetto al caricamento di una form e voglio utilizzarlo da
piů pagine.
Primo caso ho un frame, quindi apro altre pagine. 
Posso costruire l'oggetto nella pagina menů e dalle altre, dopo l'apertura
accedere a l'oggetto ?
Secondo caso, con pagine .aspx (
asp.net
), ho un controllo menů che
inserisco in tutte le pagine, quindi all'apertura di una ho la chiusura
della chiamante. Dovrei in questo caso associare alla variabile
l'indirizzo dell'oggetto e poi chiudere la form chiamante. Oppure č
possibile una pagina che fa da ponte e l'apertura č lo stretto necessario
per passare l'oggetto ?
ciao
giuseppeD


 per passare l'oggetto ?
Non uso 
ASP.NET
, e quanto mi hai detto non mi aiuta a risponderti.
Fino a "chiusura della chiamante", è chiaro. Non è chiaro cosa intendi
successivamente. O meglio, cosa vorresti fare. Dato che il menù in questione
suppongo sia un controllo che viene eseguito server side, e crea lato client
un bordello di codice js E html; e non si tratta quindi solo di un oggetto js.
-- 
~ "Viviamo dei vuoti lasciati da qualcun'altro."