Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 4712|Antwoord: 2

[HTML/HTML5] HTML5 PostMessage cross-window communicatie

[Link kopiëren]
Geplaatst op 30-07-2022 22:07:04 | | | |
PostMessage is een nieuwe cross-origin communicatie-API geïntroduceerd in html5, waarmee je bidirectioneel kunt communiceren met de hoofdpagina en elke frame-class pagina of een pagina geopend door window.open. Het algemene werkingsproces is als volgt:



JS bepaalt of de huidige pagina een iframe is of een popupvenster
https://www.itsvse.com/thread-10342-1-1.html


de postMessage(data,origin)-methode accepteert twee parameters:

(1) data: De data die moet worden doorgegeven, de HTML5-specificatie vermeldt dat de parameter elk basistype JavaScript of een reproduceerbaar object kan zijn, maar niet alle browsers hebben dit gedaan, sommige browsers kunnen alleen stringparameters verwerken, dus we moeten de JSON.stringify()-methode gebruiken om de objectparameters te serialiseren bij het doorgeven van de parameters, en verwijzen naar json2.js in de lagere versie van IE om vergelijkbare effecten te bereiken.

(2) oorsprong: Stringparameter, geef de bron van het doelvenster aan, protocol + host + poortnummer [+URL], de URL wordt genegeerd, dus deze kan niet worden geschreven, deze parameter is voor beveiligingsoverwegingen, de postMessage()-methode zal het bericht alleen doorgeven aan het opgegeven venster, natuurlijk, als je wilt, kun je de parameter ook op "*" zetten, zodat deze naar elk venster kan worden doorgegeven, als je dezelfde oorsprong als het huidige venster wilt specificeren, is deze ingesteld op "/";


Stuur zelf berichten en ontvang berichten

De code is als volgt:



Het oudervenster stuurt een bericht naar het kindvenster, en het kindvenster ontvangt het bericht

De code is als volgt:




Het kindvenster stuurt een bericht naar het oudervenster, en het oudervenster ontvangt het bericht

De code is als volgt:



Daarnaast is er een eenvoudige luisteraar/client-modus gekoppeld aan de client voor cross-domain berichtenwisseling op het volgende adres:De hyperlink-login is zichtbaar.

(Einde)




Vorig:JS bepaalt of de huidige pagina een iframe is of een popupvenster
Volgend:Docker wijzigt en beperkt container-CPU, geheugen en andere bronnen
Geplaatst op 30-07-2022 22:46:07 |
Leer leren...
 Huisbaas| Geplaatst op 18-02-2023 21:25:31 |
Post-robot voorbeeld van browservenstercommunicatie
https://www.itsvse.com/thread-10428-1-1.html
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com