PostMessage to nowe API komunikacyjne łączące źródła wprowadzone w html5, które pozwala komunikować się dwukierunkowo z główną stroną oraz dowolną stroną typu frame-class lub stroną otwartą przez window.open. Ogólny proces działania przebiega następująco:
metoda postMessage(data,origin) akceptuje dwa parametry:
(1) dane: Dane do przekazania, specyfikacja HTML5 wspomina, że parametr może być dowolnym podstawowym typem JavaScriptu lub obiektem powtarzalnym, ale nie wszystkie przeglądarki to robiły; niektóre przeglądarki obsługują tylko parametry ciągów znaków, więc musimy użyć metody JSON.stringify() do serializacji parametrów obiektu podczas przekazywania parametrów, a w niższej wersji IE odwoływać się do json2.js, aby osiągnąć podobne efekty.
(2) źródło: parametr łańcuchowy, wskazuje źródło okna docelowego, protokół + host + port numer [+URL], URL zostanie zignorowany, więc nie da się go zapisać, ten parametr służy ze względów bezpieczeństwa, metoda postMessage() przekaże wiadomość tylko do określonego okna, oczywiście, jeśli chcesz, możesz też ustawić parametr na "*", aby można go przekazać do dowolnego okna, jeśli chcesz określić to samo źródło co aktualne okno, jest ustawiony na "/";
Pisz i odbieraj wiadomości samodzielnie
Kod jest następujący:
Okno nadrzędne wysyła wiadomość do okna dziecka, a okno podrzędne otrzymuje tę wiadomość
Kod jest następujący:
Okno podrzędne wysyła wiadomość do okna nadrzędnego, a okno nadrzędne otrzymuje tę wiadomość
Kod jest następujący:
Dodatkowo, do klienta dołączony jest prosty tryb słuchacza/klienta do przesyłania wiadomości międzydomenowych pod następującym adresem:Logowanie do linku jest widoczne.
(Koniec)
|