Auf JavaScript-Variable in einem iframe vom übergeordneten Fenster derselben Domäne zugreifen

8

Ich bin ziemlich neu in JavaScript und versuche, den Wert einer Variablen aus einem eingebetteten iframe zu erhalten. Ich habe auf grundlegende Tests zurückgegriffen, um sicherzustellen, dass ich die Methode richtig verstanden habe ...

Ich habe die üblichen Vorschläge ausprobiert, und alles ist "undefiniert". Ich möchte die Variable in einem onclick-Ereignis verwenden.

Im Iframe-Inhalt habe ich alles entfernt und nur zum Testen habe das:

%Vor%

im übergeordneten Fenster habe ich das getan:

%Vor%

Ich habe die hier vorgeschlagenen Optionen ausprobiert: globale Variable von einem eingebetteten iframe greifen

Alles, was ich tue, kommt undefiniert ... mache ich etwas grundsätzlich falsch?

Vielen Dank im Voraus ..

    
Faldinio 16.01.2013, 20:05
quelle

4 Antworten

11

Sie führen das Skript bereits aus, wenn <iframe> noch geladen wird, also ist es test ist undefined . Warten Sie entweder auf das Ereignis load des Iframes oder rufen Sie die Variable ab, wenn Sie auf:

klicken %Vor%     
Bergi 16.01.2013, 20:14
quelle
7

Sie warten anscheinend nicht darauf, dass der Inhalt des Frames geladen wird, bevor Sie auf myVar zugreifen. Wahrscheinlichkeiten sind das Element <script> im Rahmen wurde noch nicht abgerufen oder ausgeführt, wenn Sie das tun.

Versuchen Sie, die Zuweisung der Variablen zu verzögern, bis der Inhalt des Frames vollständig geladen ist:

%Vor%

Nebenbei, da Ihre Frage mit , würde ich vorschlagen Du schreibst etwas wie:

%Vor%     
Frédéric Hamidi 16.01.2013 20:15
quelle
3

versuche das zu benutzen

%Vor%     
fkabeer 16.01.2013 20:24
quelle
0

Bei der Seitenlösung wollte ich nur darauf hinweisen, dass Sie, wenn Sie die jquery-onload-Event-Handler-Funktion verwenden und auf das jquery-Objekt "this" zugreifen wollen, die Schreibweise $ (this.attr) verwenden müssen.

>     
emmmdeee 14.05.2013 20:48
quelle

Tags und Links