Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1

    SOS: lettura/scrittura in iframe

    Ciao posso chiedere gentilmente il vostro aiuto?
    Non riesco a risolvere il mio problema.

    Ho bisogno di scrivere del codice javascript che, dato un iframe inserito in una pagina main, vada a leggere e/o scrivere in uno span di tale iframe.

    Ho scritto il seguente codice:

    Pagina main.html:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <script type="text/javascript">
    function riscrivi_valore()
    {
    var ifrm = document.getElementById('mio_frame');
    ifrm.contentWindow.document.getElementById('valore _in_frame').innerHTML = 'VALORE SOVRASCRITTO';
    }
    </script>
    </head>

    <body>
    <iframe id="mio_frame" border="1" src="mio_frame.html" frameborder="yes" ></iframe>
    <input type='button' value='Scrivi in iframe' onclick='riscrivi_valore();'>

    </body>
    </html>

    ---------------
    Pagina mio_frame.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    </head>
    <body>
    Valore: <span id='valore_in_frame'>000</span>
    </body>
    </html>



    Questo codice funziona soltanto se la funzione viene lanciata dal button con onclick.

    Io invece vorrei fare in modo che la pagina, dopo aver creato l'iframe passi immediatamente alla lettura/scrittura del suo contenuto nell'innerHTML, senza dover cliccare bottoni. Ho quindi sostituito la riga del button con un banale richiamo di funzione:
    <script type="text/javascript">riscrivi_valore();</script>

    Scritto cosi' funziona soltanto se prima di questa riga aggiungo un alert o ritardo l'esecuzione della funzione di circa 200ms:

    <script type="text/javascript">alert ("Quello che voglio");</script>
    oppure:
    <script type="text/javascript">
    var date = new Date();
    var curDate = null;

    do { curDate = new Date(); }
    while(curDate-date < 200);

    </script>

    Deduco che il problema e' legato ai tempi necessari per la creazione dell'iframe.
    Stesso comportamento in IE7 e FF3.5.3.
    E' possibile fare in modo di richiamare la funzione solo quando lo span dell'iframe diventa disponibile senza cablare ritardi prefissati? Questa operazione andra' fatta su un nuimero variabile di iframe, quindi ritardare anche solo di 200ms l'esecuzione su ogni iframe potrebbe non essere una buona soluzione perche' l'ultimo frame verrebbe letto/scritto dopo un tempo molto lungo.

    Grazie infinite in anticipo.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    l' <iframe> ha un suo gestore evento onload

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.