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

Вид: 6696|Відповідь: 5

[Джерело] WebView2 (3) Двонаправлена комунікація між веб- та WinForm-додатками

[Копіювати посилання]
Опубліковано 27.09.2022 22:12:31 | | | |
Вимоги: Як WebView2 може рендерити та відображати веб-ресурси для дій користувача, як веб-інтерфейс може взаємодіяти з додатком WinForm? Наприклад, веб зчитує апаратну інформацію через додаток, і додаток активно оновлює вміст веб-сторінки.

Огляд:

[WebView2] (1) Початкове знайомство з технологією Microsoft Edge WebView2
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) WinForm вводить WebView2 для відображення веб-контенту
https://www.itsvse.com/thread-10362-1-1.html
По-перше, подивіться на рендеринг комунікації між вебом і додатком WinForm, веб надсилає повідомлення додатку,Вимкніть функцію калькулятора, яка відкриває систему WindowsВодночас додаток може успішно приймати повідомлення, надіслані на веб-сторону, як показано на рисунку нижче:



Комунікація між хостом і вебконтентом

Хости та вебконтент можуть використовуватися для взаємодії між собою у postMessages, наступним чином:

  • Веб-контент у контролі WebView2 можна використати для публікації повідомлення хосту у window.chrome.webview.postMessage. Хост обробляє повідомлення з будь-яким повідомленням, яке реєструє WebMessageReceived на хості.
  • Хост публікує повідомлення на веб-контент у контролі WebWebView2.PostWebMessageAsString або CoreWebView2.PostWebMessageAsJSON. Ці повідомлення захоплюються обробником, доданим до window.chrome.webview.addEventListener.


Створіть новий проєкт Angular SPA

У цій статті використовується Angular 8.2.14 для створення нового веб-проєкту, який демонструє комунікацію між вебом і додатком WinForm.

Код виглядає так:

Водночас модифікувати файли app.component.html та app.component.ts, щоб реалізувати функції надсилання та отримання повідомлень.

app.component.html код виглядає так:

app.component.ts код виглядає так:

Проведіть проєкт так, як показано нижче:



Застосування WinForm

Хост-додаток повинен змінити код наступним чином:

Модифікація керування WebView2Джерело: http://localhost:4200/Для запуску додатку, як показано нижче:



Нарешті, спробуйте надсилати повідомлення один одному через веб- та WinForm-додатки, і ви побачите, що обидві сторони можуть успішно отримувати повідомлення, як показано на наступному рисунку:



(Кінець)





Попередній:【Оптимізація продуктивності】Функції попереднього підключення, DNS-Prefetch та Preload на фронтенді
Наступний:[WebView2] (4) Методи викликової функції Web і WinForm один до одного
Опубліковано 28.09.2022 08:55:45 |
Вона має покладатися на EDG як на головний біль
 Орендодавець| Опубліковано 28.09.2022 19:26:50 |
Zmoli775 опубліковано 2022-9-28 08:55
Вона має покладатися на EDG як на головний біль

Ні, але вам потрібно встановити runtime webview2
Опубліковано 08.10.2022 15:06:24 |
Вчитися вчитися
Опубліковано 31.03.2023 13:32:46 |
Win7, здається, не працює, я читав у документації Microsoft, що вона її не підтримує?
 Орендодавець| Опубліковано 07.01.2025 13:29:35 |
у тому ж процесі. NET та JavaScript.

Вхід за гіперпосиланням видно.
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com