2011-01-14 2 views
20

Come posso lavorare con jQuery e iframe. Ottenere e passare var da iframe a body e da body a iframe. Ho il seguente esempio. Come posso fare clic sul pulsante in iframe e applicarlo allo body#test. Che ne dici di var var in iframe.Passare le variabili jquery tra iframe e padre

<body> 
var x = "whatever"; 
<div id"test"></div> 
<iframe width="200px" height="200px" src="page.html"></iframe> 
</body> 

All'interno page.html ho

<button>clickme</button> 
<script> 
var elm = $('<span>content</span>'); 
    elm.appendTo('#test') 
</script> 
+6

nota che la maggior parte dei browser permette solo la manipolazione del documento principale all'interno di un iframe quando entrambi i documenti provengono dallo stesso identico dominio, secondo la stessa politica di origine. – tdammers

+0

@tdammers: questo è un buon punto. – LiamB

+0

Sì. Un po 'me una volta. Ho avuto questa meravigliosa sceneggiatura che avrebbe regolato l'altezza di un iframe per il suo contenuto, ma ha funzionato solo sul banco di prova, dove entrambe le pagine sono state servite da localhost :-( – tdammers

risposta

14

Dal punto di vista dei genitori:

var iFrameValue = $('#iframe').get(0).contentWindow.myLocalFunction(); 

O

var iFrameValue = $('#iframe').get(0).contentWindow.myLocalVariable; 

Dal punto di vista iframe

<script type="text/javascript"> 

var myLocalVariable = "hello"; 

function myLocalFunction() { 
    return "hello"; 
} 

</script>