PostMessage ist eine neue Cross-Origin-Kommunikations-API, die in html5 eingeführt wurde und es ermöglicht, bidirektional mit der Hauptseite und jeder Frame-Class-Seite oder einer von window.open geöffneten Seite zu kommunizieren. Sein allgemeiner Betriebsablauf ist wie folgt:
die postMessage(data,origin)-Methode akzeptiert zwei Parameter:
(1) Daten: Die zu übergebenden Daten; die HTML5-Spezifikation erwähnt, dass der Parameter jede grundlegende JavaScript-Art oder ein reproduzierbares Objekt sein kann, aber nicht alle Browser haben dies getan, einige Browser können nur String-Parameter verarbeiten, daher müssen wir die Methode JSON.stringify() verwenden, um die Objektparameter beim Weitergeben der Parameter zu serialisieren und auf json2.js in der niedrigeren IE-Version zu verweisen, um ähnliche Effekte zu erzielen.
(2) Ursprung: String-Parameter, gib die Quelle des Zielfensters an, Protokoll + Host + Portnummer [+URL], die URL wird ignoriert, daher kann sie nicht geschrieben werden, dieser Parameter dient Sicherheitsgründen, die postMessage()-Methode übergibt die Nachricht nur an das angegebene Fenster, natürlich, wenn du möchtest, kannst du den Parameter auch auf "*" setzen, sodass er an jedes beliebige Fenster weitergegeben werden kann, wenn du denselben Ursprung wie das aktuelle Fenster angeben möchtest, wird er auf "/" gesetzt;
Nachrichten und empfangen Sie Nachrichten selbst
Der Code lautet wie folgt:
Das Elternfenster sendet eine Nachricht an das Kindfenster, und das Kindfenster empfängt die Nachricht
Der Code lautet wie folgt:
Das Kindfenster sendet eine Nachricht an das Elternfenster, und das Elternfenster empfängt die Nachricht
Der Code lautet wie folgt:
Zusätzlich ist ein einfacher Listener/Client-Modus für domänenübergreifende Nachrichten an folgende Adresse angeschlossen:Der Hyperlink-Login ist sichtbar.
(Ende)
|