2011-01-14 6 views
20

Wie kann ich mit jQuery und iframe arbeiten. Get und pass var von iframe zu body und von body zu iframe. Ich habe folgendes Beispiel. Wie kann ich auf die Schaltfläche in iframe klicken und es auf die body#test wirksam werden. Wie wäre es mit ready var x in iframe?Übergeben Sie jquery-Variablen zwischen iframe und parent

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

Innen seite.html ich habe

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

Beachten Sie, dass die meisten Browser nur von innerhalb eines Iframe Manipulation des übergeordneten Dokuments ermöglichen wenn beide Dokumente aus der gleichen Domäne stammen, wie in der gleichen Ursprungsrichtlinie. – tdammers

+0

@ tdammers - Das ist ein guter Punkt. – LiamB

+0

Ja. Bit mich einmal. Ich hatte dieses wunderbare Skript, das die Höhe eines iframe an seinen Inhalt anpassen würde, aber es funktionierte nur auf dem Prüfstand, wo beide Seiten von localhost bedient wurden :-( – tdammers

Antwort

34
$("#myid", top.document); 

oder

$("#myid", parent.document.body); 

Dies wird Ihnen in den Behälter des IFRAME zugreifen

Stand: http://groups.google.com/group/jquery-en/browse_thread/thread/5997ef4a60a123af

+0

Ich habe es versucht, aber es funktioniert nicht. Haben Sie es vor Ort versucht. – Hussein

+0

Ich habe es in der Vergangenheit verwendet. Können Sie Ihre Frage aktualisieren, um Ihren neuen Code dann? – LiamB

+1

Es hat gut funktioniert. Vielen Dank Pino :) –

14

Aus der Eltern Perspektive:

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

ODER

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

Aus der iframe Perspektive

<script type="text/javascript"> 

var myLocalVariable = "hello"; 

function myLocalFunction() { 
    return "hello"; 
} 

</script> 
Verwandte Themen