Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 4712|Odpowiedź: 2

[HTML/HTML5] Komunikacja między oknami HTML5 PostMessage

[Skopiuj link]
Opublikowano 30.07.2022 22:07:04 | | | |
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:



JS określa, czy bieżąca strona jest ramką iframe czy okienkiem wyskakującym
https://www.itsvse.com/thread-10342-1-1.html


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)




Poprzedni:JS określa, czy bieżąca strona jest ramką iframe czy okienkiem wyskakującym
Następny:Docker modyfikuje i ogranicza CPU, pamięć i inne zasoby kontenerowe
Opublikowano 30.07.2022 22:46:07 |
Naucz się uczyć...
 Ziemianin| Opublikowano 18.02.2023 21:25:31 |
Przykład komunikacji w oknie przeglądarki po użyciu robota
https://www.itsvse.com/thread-10428-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com