Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 4712|Відповідь: 2

[HTML/HTML5] HTML5 PostMessage міжвіконна комунікація

[Копіювати посилання]
Опубліковано 30.07.2022 22:07:04 | | | |
PostMessage — це новий API крос-оригіналу, впроваджений у html5, який дозволяє двонаправлено спілкуватися з головною сторінкою та будь-якою сторінкою класу кадрів або сторінкою, відкритою через 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