Anforderungen: Zuvor wurde die direkte Kommunikation zwischen Browserfenstern mit PostMessage getestet, heute verwenden wir eine Drittanbieter-Bibliothek, post-robot, für die domänenübergreifende Fensterkommunikation.
Der Post-Roboter ist tatsächlich eine weitere Kapselung der PostMessage-Kommunikationsmethode mit folgenden Funktionen (eine Nachricht an ein anderes Fenster senden):
- Erhalten Sie eine Antwort aus dem Fenster, an das Sie die Nachricht gesendet haben
- Übertragung einer Funktion an ein anderes Fenster über verschiedene Domänen hinweg
- Behandle alle Fehler, die verhindern, dass deine Nachrichten weitergeleitet werden können
- Mach dir keine Sorgen, deine Nachrichten zu serialisieren; Senden Sie nur JavaScript-Objekte
- Verwende Versprechen oder async/warte, um auf die Antwort des Fensters zu warten, an das du die Nachricht schickst,
- Richten Sie einen sicheren Nachrichtenkanal zwischen zwei Fenstern auf einer Domäne ein
- Sende eine Nachricht zwischen dem Elternfenster und dem Pop-up-Fenster in IE
NPM-Adresse:Der Hyperlink-Login ist sichtbar. GitHub-Codeadresse:Der Hyperlink-Login ist sichtbar.
Zunächst werfen wir einen Blick auf die Renderings wie folgt:
Das Elternfenster öffnet ein Kinderfenster, sendet dann eine Nachricht an das Kinderfenster und kann eine Antwort aus dem Kinderfenster erhalten; natürlich kann das Kindfenster auch eine Antwort erhalten, indem es eine Nachricht an das Elternfenster sendet.HTTP-ähnliches Anforderungsantwortmuster。
Der übergeordnete Fenstercode ist wie folgt:
Der Unterfenstercode lautet wie folgt:
(Ende)
|