Iframe senza src ma ha ancora contenuti?

Durante il debug del codice jquery sul proprio sito (tramite la barra degli strumenti di Chrome Developer)

Ho notato che i loro esempi sono dati sotto Iframe :

Qui – per esempio c’è un campione che si trova sotto un Iframe ma dopo aver investigato, vedo che l’Iframe non ha SRC

L’immagine mostra tutto

inserisci la descrizione dell'immagine qui

Domanda:

È ansible impostare il contenuto su un Iframe senza impostare il suo SRC?

ps questo menu mi mostra anche un contenuto vuoto

inserisci la descrizione dell'immagine qui

Sì, è ansible caricare un vuoto (senza src specificato) e successivamente applicarvi il contenuto usando lo script.

Vedi: http://api.jquery.com/jquery-wp-content/themes/jquery/js/main.js (riga 54 e sotto).

O semplicemente prova:

  document.querySelector('iframe')[0] .contentDocument.write("

Injected from parent frame

")

Sì, ecco come si modifica l’html dell’iframe con jQuery

 var context = $('iframe')[0].contentWindow.document, $body = $('body', context); $body.html('Cool'); 

Demo: http://jsfiddle.net/yBmBa/

document.contentWindow: https: //developer.mozilla.org/en-US/d …

Sicuro. È ansible ottenere un riferimento all’object document iframe con

 var doc = iframe.contentDocument; 

e quindi puoi creare e aggiungere elementi come fai nel documento corrente.

Se l’iframe non ha un attributo src , conterrà comunque un documento vuoto. Credo comunque che almeno le vecchie versioni di IE richiedano l’attributo src da impostare, altrimenti l’iframe non avrà un documento.

Vedi anche: contentDocument per un iframe .

Sembra che questa sia la soluzione più compatibile tra i browser e che sia riconosciuta dal W3C

  

Prova a dare:

 src ="javascript:false;" 

Mescolando le migliori risposte in javascript e jQuery, trovo questa soluzione per ogni iframe in una pagina:

 
$(".iframewrapper").each(function(){ var html = $(this).attr("data-content"); var iframe = $(this).find('iframe'); var context = iframe[0].contentDocument.write(html); iframe[0].contentWindow.document.close(); //without this line, page loading animations won't go away! });