PostMessage este o nouă API de comunicare cross-origin introdusă în html5 care îți permite să comunici bidirecțional cu pagina principală și cu orice pagină de clasă cadru sau o pagină deschisă prin window.open. Procesul său general de funcționare este următorul:
Metoda postMessage(data,origin) acceptă doi parametri:
(1) date: Datele ce trebuie transmise, specificația HTML5 menționează că parametrul poate fi orice tip de JavaScript de bază sau un obiect reproductibil, dar nu toate browserele au făcut acest lucru, unele browsere pot gestiona doar parametri de șiruri, așa că trebuie să folosim metoda JSON.stringify() pentru a serializa parametrii obiectului la trecerea parametrilor și să ne referim la json2.js în versiunea inferioară a IE pentru a obține efecte similare.
(2) originea: Parametru string, indică sursa ferestrei țintă, protocol + host + port number [+URL], URL-ul va fi ignorat, deci nu poate fi scris, acest parametru este pentru considerente de securitate, metoda postMessage() va transmite mesajul doar fereastra specificată, desigur, dacă dorești, poți seta și parametrul pe "*", astfel încât să poată fi transmis oricărei ferestre, dacă vrei să specifici aceeași origine ca fereastra curentă, este setat pe "/";
Trimite mesaje și primește mesaje tu însuți
Codul este următorul:
Fereastra părinte trimite un mesaj către fereastra copil, iar fereastra copil primește mesajul
Codul este următorul:
Fereastra copil trimite un mesaj către fereastra părinte, iar fereastra părinte primește mesajul
Codul este următorul:
În plus, un mod simplu ascultător/client este atașat clientului pentru mesagerie cross-domain la următoarea adresă:Autentificarea cu hyperlink este vizibilă.
(Sfârșit)
|