Krav: Hvordan kan WebView2 gengive og vise webressourcer til brugerhandlinger, hvordan kan webgrænsefladen kommunikere med WinForm-applikationen? For eksempel læser webben hardwareinformation gennem applikationen, og applikationen opdaterer aktivt indholdet på websiden.
Anmeldelse:
Se først på gengivelserne af kommunikationen mellem webben og WinForm-applikationen, hvor webben sender en besked til applikationen,Kald Beregner-funktionen, der åbner Windows-systemetSamtidig kan applikationen også modtage beskeder sendt til websiden, som vist i figuren nedenfor:
Kommunikation mellem værten og webindholdet
Hosts og webindhold kan bruges til at kommunikere med hinanden i postMessages, som følger:
- Webindhold i WebView2-kontrollen kan bruges til at udgive en besked til værten i window.chrome.webview.postMessage. Værten behandler beskeden med enhver besked, der registrerer WebMessageReceived på værten.
- Værten udgiver beskeder til webindholdet i WebView2-kontrollen CoreWebView2.PostWebMessageAsString ved brug af eller CoreWebView2.PostWebMessageAsJSON. Disse beskeder opfanges af den handler, der tilføjes til window.chrome.webview.addEventListener.
Opret et nyt Angular SPA-projekt
Denne artikel bruger Angular 8.2.14 til at skabe et nyt webprojekt, der demonstrerer kommunikationen mellem webben og WinForm-applikationen.
Koden er som følger:
Samtidig modificeres app.component.html- og app.component.ts-filerne, så de realiserer funktionerne ved at sende og modtage beskeder.
app.component.html kode er som følger:
app.component.ts kode er som følger:
Kør projektet som vist nedenfor:
WinForm-applikation
Værtsapplikationen skal ændre koden som følger:
Ændr WebView2-kontrollenKildeattributten er: http://localhost:4200/for at starte applikationen, som vist nedenfor:
Til sidst kan du prøve at sende beskeder til hinanden med Web- og WinForm-applikationerne, og du kan se, at begge parter kan modtage beskederne med succes, som vist i følgende figur:
(Slut)
|