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

Изглед: 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 на хоста.
  • Хостът публикува съобщения към уеб съдържанието в контрола WebView2 CoreWebView2.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/За стартиране на приложението, както е показано по-долу:



Накрая, опитайте да изпращате съобщения един на друг чрез Web и WinForm приложенията и ще видите, че и двете страни могат успешно да получат съобщенията, както е показано на следващата фигура:



(Край)





Предишен:【Оптимизация на производителността】Функции за предварително свързване, DNS-Prefetch и Preload на фронтенда
Следващ:[WebView2] (4) Web и WinForm методи за повикване помежду си
Публикувано в 28.09.2022 г. 8:55:45 ч. |
Трябва да разчита на EDG като главоболие
 Хазяин| Публикувано в 28.09.2022 г. 19:26:50 ч. |
Zmoli775 Публикувано на 2022-9-28 08:55
Трябва да разчита на EDG като главоболие

Не, но трябва да инсталираш runtime на webview2
Публикувано в 8.10.2022 г. 15:06:24 ч. |
Научи се да учиш
Публикувано в 31.03.2023 г. 13:32:46 ч. |
Win7 не изглежда да работи, четох, че в документацията на Microsoft пише, че не го поддържа?
 Хазяин| Публикувано в 7.01.2025 г. 13:29:35 ч. |
в същия процес. NET и JavaScript.

Входът към хиперлинк е видим.
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com