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:
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)
|