Caricare contenuto iframe su richiesta

xDOMYx

Nuovo Utente
2 Feb 2011
25
0
1
Partendo dal presupposto che mi sto affacciando da poco su questo campo, pertanto pubblico in javascript perchè penso che la soluzione al mio problema sia da ricorrere al javascript.
Ho un iframe (a cui ho assegnato un preciso id per contraddistinguerlo).
Vorrei che quando viene caricata la pagina, l'iframe NON venga caricato (per ridurre i caricamenti agli utenti)

Dovrei fare qualcosa del genere:
Codice:
<a onlick="carica l'iframe">VISUALIZZA IFRAME</a>
<a onlick="chiudi l'iframe">RIMUOVI CONTENUTO IFRAME</a>

Il problema è che non so:
-Come fare in modo che di default l'iframe non chiami la pagina desiderata
-Come fare in modo che l'iframe richiami la pagina desiderata cliccando su un apposito testo
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
prova cosi
HTML:
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
            function mostraIfrm(mode) {
                var ifrm = document.getElementById('ifrm');
                if(mode == 'block') {
                    ifrm.src = 'http://forum.mrwebmaster.it';
                }else{
                    ifrm.src="";
                }
                ifrm.style.display=mode;
            }
        </script>
    </head>
    <body>
        <div>
            <input type="button" value="Mostra" onclick="mostraIfrm('block')"/>
            <input type="button" value="Nascondi" onclick="mostraIfrm('none')"/>
        </div>
        <iframe style="display:none" id="ifrm" width="800" height="500">cambia browser</iframe>
    </body>
</html>
non ho testato bene e non ho commentato,se hai bisogno chiedi pure
 

xDOMYx

Nuovo Utente
2 Feb 2011
25
0
1
Sembra andar bene.
Unico problema: non posso mettere mani all'head per inserire il codice javascript.

Si può fare qualcosa del genere?
Codice:
<input type="button" value="Mostra" onclick="ifrm.src = 'http://forum.mrwebmaster.it';"/>
 

xDOMYx

Nuovo Utente
2 Feb 2011
25
0
1
Ignora il messaggio precedente.
L'effetto ottenuto è esattamente quello che voglio io.

Ma non si può assegnare un SRC all'iframe già dall'inizio, però NON viene caricato?
E poi con un evento onclick, allo stesso modo di come mi hai scritto sopra, anzichè cambiare l'src, semplicemente dire all'iframe che ora può caricare il contenuto?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
puoi assegnare l'attributo src direttamente al tag <iframe>
il contenuto a questo punto però verrà caricato insieme alla pagina
puoi tenerlo nascosto e mostrarlo al click sul input
HTML:
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
            function mostraIfrm(mode) {
                document.getElementById('ifrm').style.display=mode;
            }
        </script>
    </head>
    <body>
        <div>
            <input type="button" value="Mostra" onclick="mostraIfrm('block')"/>
            <input type="button" value="Nascondi" onclick="mostraIfrm('none')"/>
        </div>        
        <iframe style="display:none" src='http://forum.mrwebmaster.it' id="ifrm" width="800" height="500"></iframe>
    </body>
</html>
 

xDOMYx

Nuovo Utente
2 Feb 2011
25
0
1
Non è il fatto che devo nascodere l'iframe, mi interessa solo che il contenuto venga caricato su richiesta e non al caricamento della pagina.
La prima soluzione che mi hai dato è perfetta.
Il problema è che ottengo l'src dell'iframe in php, e cambia da pagina a pagina, quindi non conosco l'url esatta da poter impostare in javascript.

Ora che ci penso, si può assegnare un url in php, e farlo diventare una variabile javascript?
Spero di aver reso l'idea.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
puoi passarlo come parametro alla funzione
Codice:
function mostraIfrm(mode,url) {
                var ifrm = document.getElementById('ifrm');
                if(mode == 'block') {
                    ifrm.src = url;
                }else{
                    ifrm.src="";
                }
                ifrm.style.display=mode;
            }
e lo recuperi con php
PHP:
<input type="button" value="Mostra" onclick="mostraIfrm('block','<?php echo $url ?>')"/>

edit
dovrai passare un parametro vuoto quando vuoi nasconderla
HTML:
<input type="button" value="Nascondi" onclick="mostraIfrm('none','')"/>

edit edit
a questo punto la funzione si potrebbe semplificare cosi
Codice:
function mostraIfrm(mode,url) {
                var ifrm = document.getElementById('ifrm');
                ifrm.src = url;                
                ifrm.style.display=mode;
            }
non ho testato
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
A caricare file PHP con Load cambiandone parte del contenuto jQuery 1
F Caricare contenuto pagina all'interno di un'altra pagina Javascript 1
I Caricare contenuto dentro un div PHP 2
I Caricare solo il contenuto. HTML e CSS 2
L Come caricare un'immagine in Canvas dinamicamente Javascript 0
C Come caricare foto da google foto ad un sito? Discussioni Varie 1
Y Come caricare e visualizzare un'immagine PHP 0
I javascript come caricare una pagina sopra quella corrente in automatico Javascript 2
O MIT App Inventor - caricare un file da app Sviluppo app per Android 1
Alex_70 [PHP] Caricare foto su un'altra tabella collegata PHP 0
A [Java] caricare un url esterno senza utilizzo di iframe Java 0
G Caricare una jpg con il php PHP 1
N [WordPress] Caricare diversi fogli di stile in tema-child WordPress 0
G Caricare una semplice Jpg con il PHP PHP 1
E Caricare dati da DB MySql all'apertura pagina, meglio PHP o Javascript? PHP 1
Selenio89 problema a caricare immagine con html. dove sbaglio? HTML e CSS 25
P [PHP] Caricare un file da client XP su server Ubuntu PHP 2
M [Javascript] Caricare link esterno file js in base al device Javascript 0
L Come caricare <iframe> dopo il click ad un immagine, per migliorare le prestazioni. Discussioni Varie 0
andrea93_12 Aiuto caricare immagine su database MYSQL MySQL 1
giancarlob Prova a rimandare o a caricare in modo asincrono le risorse di blocco SEO e Posizionamento 0
F [HTML] Caricare un font ttf HTML e CSS 2
Y CARICARE IMMAGINI IN CARTELLA PHP PHP 3
A Caricare foto in una gallery PHP 0
9 caricare immagini in tabella html da cartella sul server tramite id database PHP 1
A Caricare una pagina jsp in un div alla pressione di un button Javascript 1
M Problema caricare file sul hosting Discussioni Varie 1
M Caricare più google maps con un ciclo Javascript 1
marino51 non riesco a caricare un allegato percgè non riesco a ridimensionare la finestra Supporto Mr.Webmaster 0
P Caricare nuova pagina dopo invio dati form Javascript 11
F Caricare immagine da Mysql su evento click-radio Javascript 5
D Caricare foto in un DB PHP 2
S Caricare una pagina con JQuery jQuery 4
asevenx problemi per caricare immagine su server PHP 4
A [risolto] caricare con un ciclo For dei file PHP inclusi in una variabile array PHP 3
M Zenphoto: far caricare immagini agli utenti CMS (Content Management System) 0
F Caricare file da locale al server Javascript 3
D Caricare file via ajax Ajax 1
G caricare immagini sul db con il formato text PHP 3
P Caricare un .exe sul sito. HTML e CSS 6
P caricare dati all'interno di un tag div html HTML e CSS 15
I Perchè devo cliccare 2 volte su un link per caricare correttamente il css di una galleria? WordPress 1
S come caricare un banner tramite un form in una cartella all interno del sito PHP 11
F comando php per caricare delle scritte in una pagina html PHP 4
C Problema nel Caricare file e spostarlo con la funzione move_uploaded_file PHP 14
F Caricare pagine del sito sul database MySQL 1
B Caricare immagini in un DB insieme ad altri dati e visualizzarli PHP 2
C in un file html/javascript caricare i div presenti nel body in un file di testo e richiamarli Javascript 7
P Caricare immagini con scelta multipla e creare le PHP 45
A Caricare quiz in un sito PHP 1

Discussioni simili