Newsgroup: it.comp.lang.javascript
Titolo: scrivere in una finestra aperta con il metodo open

questo script non fa altro che aprire una pagina html , ridimensionarla e
scrivere all'interno del tag <div id="contenuto"> la stringa "aaaaaaaaaa"
come mai mi da errore proprio su
:NewWin.document.getElementById("contenuto").innerHTML='aaaaaaa';
eppure  il comando è giusto! e funziona se lo isolo all'interno di un button
( dopo che ovviamente la finestra è aperta)
Sembra quasi che il browser non riesce a trovare l'elemnto perchè la pagina
non è stata ancora completamente caricata! posso allora attivare il comando
solo quando la "pagina passata" è realmente stata caricata?
<script language="JavaScript">
var NewWin=null;
function J_ApriFinestra(htmlpage,pagename,x,y){
  ppts ="width="+x;
 ppts+=",height="+y;
 ppts+=",location=NO";
 ppts+=",titlebar=YES";
 ppts+=",screenX=0px";
 ppts+=",screenY=0px";
 ppts+=",alwaysRaised=no";
 ppts+=",fullscreen=NO";
 ppts+=",scrollbars=no";
 NewWin = window.open(htmlpage,pagename,ppts);
 NewWin.focus();
 NewWin.document.getElementById("contenuto").innerHTML='aaaaaaa';
 }

 non č stata ancora completamente caricata!
Sembrerebbe proprio di si a giudicare dallo script, e mi sembra di capire che 
la finestra deve caricare una "htmlpage" dal server, quindi i tempi di 
caricamento sono indefiniti.
Due possibili soluzioni: 
- usa un setTimeout() per lanciare anche dopo 100 ms le istruzioni che vanno 
ad operare nella finestra
- metti un onLoad="opener.FunzioneCheScrive()" nel BODY della popup
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

please.
scusa ma non trovo il thread che dici tu ! in data 22/08 non ci sono
rsiposte con utente CARTASI.
A quale ti riferisci ?

 realmente stata caricata?
Sě. Fai in questo modo, nella function J_ApriFinestra arriva fin qui:
[...]
ppts+=",scrollbars=no";
NewWin = window.open(htmlpage,pagename,ppts);
}
// poi aggiungi una funzione:
function PortaATermine() {
NewWin.focus();
NewWin.document.getElementById("contenuto").innerHTML='aaaaaaa';
}
Ora entra nella popup "NewWin" e scrivi:
<body onload="window.opener.PortaATermine();">
=================================================================
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

 realmente stata caricata?
Sì. Fai in questo modo, nella function J_ApriFinestra arriva fin qui:
[...]
ppts+=",scrollbars=no";
NewWin = window.open(htmlpage,pagename,ppts);
}
// poi aggiungi una funzione:
function PortaATermine() {
NewWin.focus();
NewWin.document.getElementById("contenuto").innerHTML='aaaaaaa';
}
Ora entra nella popup "NewWin" e scrivi:
<body onload="window.opener.PortaATermine();">
=================================================================
--
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso
(Oscar Wilde)
ok si in questo modo funziona ma il problema è che cosi il codice da
scrivere nella popup deve risiedere  all'interno della popup.
Il problema e che questa finestra è utilizzata per tantissime altre
informazioni che arrivano da un database e quindi non posso prevederle tutte
ed inserirle.
L'ideale sarebbe poter scrivere nella popup direttamente da uno script da
un'alra finestra.

 ed inserirle.
Ma nella popup devi solo inserire questo:
<body onload="window.opener.PortaATermine();">
che in altri termini vuol dire "non appena il MIO body è stato
interamente caricato, lascio che la finestra madre (quella che contiene
le funzioni) porti a termine lo script e mi passi i parametri".
ahhhh non avevo capito grazie mille*mille ^2!!!!!!!!!