Ich habe ein Problem, das von meinem Elternfenster zum Kind-iFrame kommuniziert. Auf der anderen Seite funktioniert alles perfekt. Hier ist, wie ich die chil iFrame Objekt erhalten, um die postmessage Funktion Feuer:Kommunikation mit postMessage von Eltern zu Kind ausgeben iFrame
var iFrame = document.getElementById('Frame').contentWindow;
Wenn ich es drucken int er trösten, erhalte ich folgendes:
Window {parent: Window, opener: null, top: Window, length: 0, frames: Window…}
Wenn Ich gehe zur postMessage-Funktion wie folgt:
iFrame.postMessage("message", "http://contoso.com");
Es zeigt mir ein Fehler r beim Laden der Seite: iFrame.postMessage ist keine Funktion. Wenn ich die Konsole ausführen in postmessage, erhalte ich eine undefined
Was mache ich falsch?
Sie müssen immer noch die Kontrolle über beide Websites haben. Besitzt du 'contoso.com'? – zer00ne
Sie müssen e.origin auf 'contoso.com' einrichten, sind Sie sicher, dass Sie diese Seite bearbeiten können? Als ich das letzte Mal nachgesehen habe, war es immer noch in Besitz von MS. – zer00ne
Ich habe meine Website durch contoso.com nur für die Post ersetzt. In dem Ereignis-Listener in dem untergeordneten iFrame ist das e.origin korrekt eingestellt. Ich habe Protokoll hinzugefügt, kurz bevor das Ereignisobjekt manipuliert wurde, aber es kommt nie an diesen Punkt. –