Newsgroup: it.comp.lang.javascript
Titolo: iframe ed evento onload

Ciao a tutti.
Ho questa situazione.
paginaprincipale : 
http://sito.org/pag1.html
iframe : about:blank
Dalla pagina principale attraverso un button faccio caricare
http://sito.org/pag2.html
 nell' iframe; quindi vorrei far in modo che
venisse eseguita la funzione
function pippo()
    {
    //do something
    };
ma solo dopo che il contentuo dell'iframe è stato completamente caricato.
(che 
http://sito.org/pag2.html
 è stato completamente caricato).
Ho provato a cercare sulle FAQ... e ho trovato un mio post con il quale
avevo chiesto la stessa cosa ( + o - ) ma che poi aveva finito col trattare
l'argomento della sicurezza tra frame...
Quello che non riesco a capire è se l'evento onload dell'elemento iframe e
relativo al caricamento del contenuto dell'iframe o solo del riquadro
rappresentante l'iframe stesso.
Grazie in anticipo.
Ciao.
--Gabriele

 <body onload="top.pippo();">
La pagina due non è una mia pagina è una pagina esterna di un'altro sito.
Io vorrei catturare l'attimo in cui la pagina è completamente caricata
nell'iframe.
Ciao,
--Gabriele

b) l'impossibilità di intercettare il caricamento avvenuto.
xché l'if che hai indicati quando ritorna true?
--Gabriele

 nell'iframe.
Provato con:
<iframe src="
http://www.google.it
" onload="alert('loaded')"></iframe>
?
Non dovrebbe funzionare su tutti i browser (ad esempio mi pare che IE5.0 
dia problemi), ma se non ricordo male tu sviluppi su Mozilla per la 
tesi, ergo il problema non dovrebbe porsi.
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 <iframe src="
http://www.google.it
" onload="alert('loaded')"></iframe>
Si, provato.
Ma non sono convinto che l'alert venga fuori ne momento quando la pagina č
visualizzata.... mi pare ad occhio che venga fuori nell'attimo in cui il
browser l'ha ricevuta, ma che ancora non l'ha costruita a video:
supponiamo che l'iframe sia inizializzato con la pagina vuota. Non appena
carico una nuova pagina sull'iframe l'alert mi compare...ma mi compare
quando ancora il contentuo dell'iframe č "bianco".
Per acchiappare il momento giusto ho l'impressione che bisogna utilizzare
l'XPCOM di Mozilla... ma questo č tutto un'altra storia (e un altro NG...
:-))
Ciao,
--Gabriele

 :-))
In realta', finche' concerne Javascript, l'NG potrebbe anche essere il 
medesimo, considerato tra l'altro che un NG di XPCOM italiano non 
esiste.


 Dovrei capire cosa intendi per "momento giusto" e la motivazione.
Quando è stata carica la pagina completamente, tramite il DOM ricerco degli
elementi specifici (che soddisfano alcuni criteri ) e li cambio a modo mio.
Per ora riesco solo a cambiarli ma non riesco ad attivare la funzione alla
fine del carimento della pagina (per ora tramite un button da premere dopo
che vedo che il caricamento è ultimato).
--Gabriele

 che vedo che il caricamento č ultimato).
Se riesci a cambiarli tramite una funzione attivata da un pulsante, puoi 
benissimo cambiarli associando tale funzione all'onload. Ripeto, sempre 
e cmq relativamente alla SOP (ma, se ti funziona da bottone, dovrebbe 
funzionarti anche da onload, anche se da quanto mi hai raccontato 
fin'ora io mi aspetterei che non ti funzionasse in entrambi i casi, 
proprio per via della SOP).
Eventualmente hai visto che la Javascript Console ti restituisce qualche 
errore/informazione?


 proprio per via della SOP).
Il fatto è che il mio "iframe" non è proprio un elemento iframe (ma un
element <browser> di XUL).
Il fatto è che la mia "pagina principale" non è una vera propria pagina web
che sta su un server web ,ma è un document XUL che sta nella chrome
directory di Mozilla (e che quindi ha diritti speciali... i.e. accesso al
file system, etc.); certo nulla a che vedere con i sistemi di accesso al
file system che mette a disposizione IE ... ;-P
Quindi nessun problema di sicurezza...
Ciao,
--Gabriele