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:
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)
|