Greifen Sie auf jQuery-Daten vom iframe-Element zu

7

Nehmen wir an, ich habe eine Seite auf der gleichen Domain , die ich in einen iframe lege. Im Iframe habe ich Daten zu einem Element hinzugefügt, etwa so:

HTML

%Vor%

Skript

%Vor%

Sobald diese Seite in einem Iframe ist, weiß ich, dass ich wie folgt auf das Element zugreifen kann:

%Vor%

Aber wenn ich versuche, die Daten von diesem Element zu bekommen, ist es immer undefiniert.

%Vor%

Ich weiß, dass jQuery data() intern in einem cache -Objekt speichert, aber ich weiß nicht, wie ich von außerhalb dieses Dokuments darauf zugreifen kann. Ich habe diese Demo eingerichtet, um mein Problem anzuzeigen. Klicken Sie auf "Get Frame Data", um die Ergebnisse anzuzeigen.

Ich würde mich über jede Eingabe freuen:)

    
Mottie 04.11.2010, 21:12
quelle

2 Antworten

26

Sie müssen das Cache-Element vom jQuery-Objekt dieses -Fensters wie folgt abrufen:

%Vor%

Um Daten zu erhalten, verwenden Sie $.data() wie folgt:

%Vor%

Sie können Ihre aktualisierte / funktionierende Demo hier testen .

Was wirklich zugreift, ist:

%Vor%     
Nick Craver 04.11.2010, 21:25
quelle
1

Ich habe das nie ausprobiert, aber ich bin mir ziemlich sicher, dass Sie mit dem $ -Objekt des iframes sprechen müssen, anstatt mit dem des Dokuments, um auf den internen Datenspeicher dieses Objekts zuzugreifen. Nicht 100% sicher, wie man das macht - vielleicht so etwas wie

%Vor%

(wilde Schätzung)

Was sicher funktionieren würde, ist eine Funktion im iframe-Dokument, die die Daten abruft und an Sie zurückgibt. Aber das ist viel weniger elegant als es direkt zu holen, natürlich.

    
Pekka 웃 04.11.2010 21:22
quelle

Tags und Links