PostMessage ir jauna starpizcelsmes saziņas API, kas ieviesta html5, kas ļauj sazināties divvirzienos ar galveno lapu un jebkuru kadru klases lapu vai lapu, ko atver window.open. Tās vispārējais darbības process ir šāds:
postMessage(data,origin) metode pieņem divus parametrus:
(1) dati: nododamie dati, HTML5 specifikācijā minēts, ka parametrs var būt jebkurš pamata JavaScript veids vai reproducējams objekts, bet ne visas pārlūkprogrammas to ir izdarījušas, dažas pārlūkprogrammas var apstrādāt tikai virknes parametrus, tāpēc mums ir jāizmanto JSON.stringify() metode, lai serializētu objekta parametrus, nododot parametrus, un atsaukties uz json2.js zemākajā IE versijā, lai sasniegtu līdzīgus efektus.
(2) izcelsme: virknes parametrs, norādiet mērķa loga avotu, protokols + resursdators + porta numurs [+URL], URL tiks ignorēts, tāpēc to nevar rakstīt, šis parametrs ir drošības apsvērumu dēļ, postMessage() metode nosūtīs ziņojumu tikai uz norādīto logu, protams, ja vēlaties, varat arī iestatīt parametru uz "*", lai to varētu nodot jebkuram logam, ja vēlaties norādīt tādu pašu izcelsmi kā pašreizējais logs, tas ir iestatīts uz "/";
Ziņojumu sūtīšana un saņemšana pati
Kods ir šāds:
Vecāklogs nosūta ziņojumu uz bērna logu, un bērna logs saņem ziņojumu
Kods ir šāds:
Pakārtotais logs nosūta ziņojumu uz vecāklogu, un vecāklogs saņem ziņojumu
Kods ir šāds:
Turklāt klientam ir pievienots vienkāršs klausītāja/klienta režīms starpdomēnu ziņojumapmaiņai šādā adresē:Hipersaites pieteikšanās ir redzama.
(Beigas)
|