• User

    Reload Iframe

    Scusate, qualcuno saprebbe indicarmi se esiste un metodo/funzione epr effettuare il reload di un Iframe?

    Grazie
    Stefano


  • Super User

    Non ti garantisco la compatibilità con tutti i browser, però dovrebbe funzionare quasi sempre...

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled Document</title>
    <script type="text/javascript" language="javascript">
    //<!--
    var intervallo = 1000;
    function tempo_agg() {
     setTimeout('aggiorna_iframe()',intervallo);
    }
    function aggiorna_iframe() {
     var myIFrame = document.getElementById('Nome_IFrame');
     if (!myIFrame) return false;
     myIFrame.src = myIFrame.src;
     setTimeout('aggiorna_iframe()',intervallo);
    }
    window.onload = tempo_agg;
    //-->
    </script>
    </head>
    <body>
    <iframe id="Nome_IFrame" height="600" width="700" src="http://www.google.it/"/>
    </body>
    </html>
    

    Ciao :ciauz:


  • User

    Ti ringrazio ma niente.
    In pratica nel mio iframe rimane visualizzata un'immagine "vecchia".
    Non potendo fare altrimenti in alcuni casi devo sostituire un'immagine ma non il suo nome.
    Effettuato il cambio rimane visualizzata la solita immagine.
    La nuova viene visualizzata solamente dopo un reload manuale 😞
    Non sò più cosa fare...


  • Super User

    Il problema allora è totalmente diverso...

    Si risolve evitando la cache della pagina...

    Mi fai vedere il sito? 🙂


  • User

    Ciao e grazie soprattutto per l'attenzione che mi dedichi.
    Purtroppo il sito non è ancora in linea (verrà messo dal cliente). Per il momento è configurato sulla mia intranet.
    Il discorso della cache lo ho già affrontato ma non mi funziona.
    Ho trovato diversi script per disattivarla o per farla scadere in breve tempo.
    Purtroppo niente.
    Immagino che co queste poche informazioni sia difficile ma hai qualche suggeriento?

    Grazie ancora
    Stefano


  • Super User

    Un semplice trucco può essere quello di passare il nome dell'immagine più dei parametri.

    Cioè anziche mettere:

    <img src="nome_immagine.gif">
    ``` Metti ```
    <img src="nome_immagine.gif?parametri">
    

    Dove i parametri possono essere basati su data e ora oppure su un numero random.

    In questo modo il browser vedendo un url diverso ricarica sempre l'immagine.

    Si può fare in php, o anche in javascript.

    Non so se sono stato chiaro... ecco un esempio di codice:

    
    <script language="Javascript" type="text/javascript">
    //<!--  
      document.write('<img src="nome_immagine.gif?'+new Date().getTime()+'" />')
    //-->
    </script>
    

    Ciao :ciauz:


  • User

    Scusami se non Ti ho risposto prima ma ero dietro ada altri problemini.

    Grazie per la risposta. Il metodo mi sembra valido.
    Ora avrei bisogno di un'altra piccola mano.
    In pratica la pagina che non mi visualizza l'ultima immagine viene visualizzata in un iFrame di un'altra pagina. La pagina principale invia il nome del file alla pagina di visualizzazione con questo comando:
    document.getElementById('Immagini').src='view_img.php?fileR='+fileR+'&fileV='+fileV+'&UpLoadFile='+UpLoadFile;

    Appena la pagina di visualizzazione riceve il nome del file questo viene visualizzato con src (riferito alla variabile ricevuta.)
    Dove dovrei applicare il comando che mi suggerivi?
    Grazie
    Stefano