Newsgroup: it.comp.lang.javascript
Titolo: Come sapere se oggetto è definito?

Supponiamo che io voglia aprire in seguito ad un evento una nuova finestra e
scriverci CIAO.
Allora faccio
myWin = window.open('', 'myWin');
myWin.document.write("CIAO");
Ma se adesso per qualche nuovo evento voglio cancellare "CIAO" e scriverci
"BUONGIORNO", come faccio?
Ho pensato che posso chiudere la finestra e riaprirla...
ma se il codice esegue
if (myWin!=null){myWin.close();}
prima che per la prima volta il programma apra e definisca la finestra
myWin,
trovo errore perchè mi dice che myWin non è definita!
Come posso sapere se un oggetto è definito?
C'e' modo altrimenti di cancellare e scrivere nuovamente il contenuto di una
finestra senza doverla chiudere e riaprire?
Grazie 1000
ciao
tommaso
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 finestra senza doverla chiudere e riaprire?
Leggi su'.
Ti consiglio inoltre di usare anche document.open e document.close per
regolare lo stream:
document.open("text/html"); // in verità il mime type non è considerato
document.write("...");
document.write("...");
document.write("...");
document.close(); // flush
-- 
var SEI	= "1+5", NOVE = "8+1";
// dump TheAnswerToLifeTheUniverseAndEverything :
alert("Cosa ottieni moltiplicando "+
	eval(SEI)+" per "+eval(NOVE)+"? "+eval(SEI+"*"+NOVE));

 Come posso sapere se un oggetto è definito?
In generale if(MioOggetto) alert("definito"); //poi dipende dal contesto e
dal tipo di oggetto
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

 dal tipo di oggetto
No, in generale per "sapere se un oggetto è definito" è bene usare il
typeof. Altrimenti, nel caso in cui la variabile "MioOggetto" non sia stata
dichiarata (o non ancora), lo script engine solleverebbe un eccezione
("MioOggetto non è definito", appunto).


 serve per tale scopo.
Ma c'e un modo per definire una finestra senza aprirla? E' questo il
problema!
Cioè si può aprire "virtualmente" una finestra?
Grazie per i consigli a entrambi, già con questi suggerimenti sono riuscito
a far funzionare molto meglio le cose


 il write viene per forza eseguito al termine della precedente operazione.
Uhm...(sono un po' intimidito a scriverlo ma...) non sono d'accordo. 
Ricordo [quasi] sicuramente dei problemi di concomitanza. Ossia:
restituisce sì un riferimento, ma se la popup non ha terminato di caricarsi
(immagino sia finché non ha ricevuto il 200 Ok dal server) ricordo che si
incastrava. Problema rilevato penso su IE4 ai tempi, lo ricordo perché
sviluppando in locale il problema non avveniva, messo su server remoto
avveniva in modo random (dipendeva dalla ram del client, dalla velocità di
connessione etc)
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 connessione etc)
Questo può anche essere vero, ed è da qui il mio "stai facendo un po' di
confusione": Primo, non stai accedendo a oggetti che necessitano che il
contenuto della finestra sia effettivamente caricato. Secondo, non stai
caricando assolutamente nulla:
	myWin = window.open('', 'myWin');
-- 


 	myWin = window.open('', 'myWin');
Ah ecco l'inghippo, il mio era un ragionamento in generale, ma non avevo in
effetti notato che non apre un bel tubazzo...
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 :-)
"Eccomi, io sono l'unto del signore: egli stese una mano su di me mentre
mangiava la focaccia" (cit)


 mangiava la focaccia" (cit)
ROTFL ! Citazione di chi? Sembrerebbe una tipica cazzata alla Woody...
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 ROTFL ! Citazione di chi? Sembrerebbe una tipica cazzata alla Woody...
No, un fumetto. Rat-man. :)
