Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 4712|Отговор: 2

[HTML/HTML5] HTML5 PostMessage комуникация през прозорци

[Копирай линк]
Публикувано в 30.07.2022 г. 22:07:04 ч. | | | |
PostMessage е нов API за комуникация между произходите, въведен в html5, който ви позволява двупосочна комуникация с главната страница и с всяка страница от клас frame или страница, отворена чрез window.open. Общият ѝ оперативен процес е следният:



JS определя дали текущата страница е iframe или изскачащ прозорец
https://www.itsvse.com/thread-10342-1-1.html


postMessage(data,origin) метод приема два параметъра:

(1) данни: Данните, които трябва да се предават, спецификацията на HTML5 споменава, че параметърът може да бъде всеки базов тип JavaScript или възпроизводим обект, но не всички браузъри са го направили, някои браузъри могат да обработват само параметри на низове, затова трябва да използваме метода JSON.stringify() за сериализиране на параметрите на обекта при предаване на параметрите и да се обръщаме към json2.js в по-долната версия на IE, за да постигнем подобни ефекти.

(2) origin: Параметър на низ, посочи източника на целевия прозорец, протокол + хост + номер на порт [+URL], URL адресът ще бъде игнориран, така че не може да бъде записан, този параметър е заради съображения за сигурност, методът postMessage() ще предаде съобщението само до посочения прозорец, разбира се, ако желаете, можете да зададете параметъра на "*", така че да може да се предаде във всеки прозорец, ако искате да посочите същия произход като текущия прозорец, той се задава на "/";


Пишете и получавайте съобщения сами

Кодът е следният:



Родителският прозорец изпраща съобщение към дъщерния прозорец, а дъщерният прозорец получава съобщението

Кодът е следният:




Дъщерният прозорец изпраща съобщение към родителския прозорец, а родителският прозорец получава съобщението

Кодът е следният:



Освен това, към клиента е прикрепен прост режим слушател/клиент за междудомейн съобщения на следния адрес:Входът към хиперлинк е видим.

(Край)




Предишен:JS определя дали текущата страница е iframe или изскачащ прозорец
Следващ:Docker модифицира и ограничава контейнерния процесор, памет и други ресурси
Публикувано в 30.07.2022 г. 22:46:07 ч. |
Научи се да учиш...
 Хазяин| Публикувано в 18.02.2023 г. 21:25:31 ч. |
Пример за комуникация през прозореца на браузъра след робота
https://www.itsvse.com/thread-10428-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com