Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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/Для запуска приложения, как показано ниже:



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



(Конец)





Предыдущий:【Оптимизация производительности】Функции предварительного подключения, DNS-Prefetch и предзагрузки на фронтенде
Следующий:[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
Опубликовано 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