Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 6696|Răspunde: 5

[Sursă] WebView2 (3) Comunicare bidirecțională între aplicațiile Web și WinForm

[Copiază linkul]
Postat pe 27.09.2022 22:12:31 | | | |
Cerințe: Cum poate WebView2 să redea și să afișeze resurse web pentru acțiunile utilizatorului, cum poate interfața web să comunice cu aplicația WinForm? De exemplu, web-ul citește informații hardware prin aplicație, iar aplicația reîmprospătează activ conținutul paginii web.

Recenzie:

[WebView2] (1) Introducere inițială în tehnologia Microsoft Edge WebView2
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) WinForm introduce WebView2 pentru afișarea conținutului web
https://www.itsvse.com/thread-10362-1-1.html
Mai întâi, uită-te la randările comunicării dintre web și aplicația WinForm, web-ul trimite un mesaj aplicației,Invocă funcția Calculator care deschide sistemul WindowsÎn același timp, aplicația poate primi cu succes mesaje trimise către partea web, așa cum se arată în figura de mai jos:



Comunicarea între gazdă și conținutul web

Gazdele și conținutul web pot fi folosite pentru a comunica între ele în postMessages, după cum urmează:

  • Conținutul web din controlul WebView2 poate fi folosit pentru a publica un mesaj către gazdă în windows.chrome.webview.postMessage. Gazda procesează mesajul cu orice mesaj care înregistrează WebMessageReceived pe gazdă.
  • Gazda publică mesaje către conținutul web din controlul WebView2 CoreWebView2.PostWebMessageAsString folosind sau CoreWebView2.PostWebMessageAsJSON. Aceste mesaje sunt capturate de handler-ul adăugat în window.chrome.webview.addEventListener.


Creează un nou proiect Angular SPA

Acest articol folosește Angular 8.2.14 pentru a crea un nou proiect web care să demonstreze comunicarea dintre web și aplicația WinForm.

Codul este următorul:

În același timp, modificați fișierele app.component.html și app.component.ts pentru a realiza funcțiile de trimiterea și primirea mesajelor.

app.component.html cod este următorul:

app.component.ts cod este următorul:

Rulează proiectul așa cum este prezentat mai jos:



Aplicația WinForm

Aplicația gazdă trebuie să modifice codul astfel:

Modifică controlul WebView2Atributul sursă este: http://localhost:4200/pentru a lansa aplicația, așa cum este prezentat mai jos:



În final, încercați să vă trimiteți mesaje unul altuia prin aplicațiile Web și WinForm și puteți vedea că ambele părți pot primi cu succes mesajele, așa cum se vede în figura următoare:



(Sfârșit)





Precedent:【Funcții de optimizare a performanței】Preconnect, DNS-Prefetch și Preload pe front-end
Următor:[WebView2] (4) Metode de apel funcțiilor Web și WinForm între ele
Postat pe 28.09.2022 08:55:45 |
Trebuie să se bazeze pe EDG ca pe o durere de cap
 Proprietarul| Postat pe 28.09.2022 19:26:50 |
Zmoli775 Postat pe 2022-9-28 08:55
Trebuie să se bazeze pe EDG ca pe o durere de cap

Nu, dar trebuie să instalezi runtime-ul webview2
Postat pe 08.10.2022 15:06:24 |
Învață să înveți
Postat pe 31.03.2023 13:32:46 |
Win7 nu pare să funcționeze, am citit documentația Microsoft că nu îl suportă?
 Proprietarul| Postat pe 07.01.2025 13:29:35 |
În același proces. NET și JavaScript.

Autentificarea cu hyperlink este vizibilă.
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com