Antwort an „Rolf B“ verfassen

Hallo Chris,

vielleicht liegt's ja an der URL, ist aber alles auf localhost...

Nein, die URL sollte es nicht ausmachen. postMessage ist gerade dafür da, Cross-Origin Schranken zu überspringen.

Aber vielleicht hast Du irgendwo einen JS Error drin, das würde man in den Entwicklerwerkzeugen sehen. Hast Du die, bevor die Message gepostet wird, für Start- und Zielfenster offen?

Was auch schlecht geht ist die Zuweisung des geposteten Event-Objekts an ein innerHTML. Es ist ein Objekt, d.h. du würdest als Nachricht nicht mehr als "[object Event]" oder so ähnlich sehen. An dieser Stelle ändere 2 Sachen:

  • weise an textContent zu, nicht an innerHTML
  • weise event.data zu, nicht das ganze event.

Nur zur Sicherheit: Dir ist klar, dass das window in Empfaenger.html ein anderes Objekt ist als das window im Sender?

Der Inhalt von fenster im Sender ist ebenfalls nicht identisch mit dem window-Objekt im Empfänger, auch wenn sich beide auf das gleiche Fenster beziehen. In fenster befindet sich lediglich eine Art Stellvertreter für das Empfängerfenster, der keine direkten Zugriffe erlaubt, aber immerhin das Übermitteln von Nachrichten.

mit PHP probiert und die Daten zwischenzeitlich in der Datenbank gebunkert.

Kann man machen, muss man aber nicht. Die $_SESSION tut's auch.

Rolf

--
sumpsi - posui - obstruxi
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen