A PostMessage egy új, kereszt-origin kommunikációs API, amelyet html5-ben vezettek be, és lehetővé teszi, hogy kétirányú módon kommunikálj a főoldallal és bármely keretosztálybeli oldallal, illetve egy window.open által megnyitott oldallal. Általános működési folyamata a következő:
a postMessage(data,origin) metódus két paramétert fogad el:
(1) adatok: Az átadandó adat, a HTML5 specifikáció megemlíti, hogy a paraméter bármilyen alapvető JavaScript vagy reprodukálható objektum lehet, de nem minden böngésző csinálta ezt, néhány böngésző csak string paramétereket tud, ezért a JSON.stringify() metódussal kell sorolni az objektumparamétereket a paraméterek továbbításakor, és az IE alsó verziójában json2.js hasonló hatások eléréséhez.
(2) eredet: String paraméter, jelölje a célablak forrását, protokoll + host + port számot [+URL], az URL-t figyelmen kívül hagyják, így nem lehet írni, ez a paraméter biztonsági szempontból van, a postMessage() metódus csak a megadott ablakba továbbítja az üzenetet, természetesen, ha szeretnéd, beállíthatod a paramétert "*"-re, így bármely ablakba továbbítható, ha ugyanazt az eredetet szeretnéd megadni, mint a jelenlegi ablak, az "/"-re van állítva;
Üzenetet küldj és fogadj üzeneteket magad
A kódex a következő:
A szülőablak üzenetet küld a gyermekablaknak, a gyermekablak pedig az üzenetet kapja
A kódex a következő:
A gyermekablak üzenetet küld a szülőablaknak, és a szülőablak kapja az üzenetet
A kódex a következő:
Ezen felül egy egyszerű hallgató/kliens mód is csatlakozik a klienshez a különböző tartományok közötti üzenetküldéshez a következő címen:A hiperlink bejelentkezés látható.
(Vége)
|