Požiadavky: Ako môže WebView2 vykresľovať a zobrazovať webové zdroje pre používateľské akcie, ako môže webové rozhranie komunikovať s aplikáciou WinForm? Napríklad web číta hardvérové informácie cez aplikáciu a aplikácia aktívne obnovuje obsah webovej stránky.
Revízia:
Najprv sa pozrite na zobrazenie komunikácie medzi webom a aplikáciou WinForm, web posiela aplikácii správu,Vyvolajte funkciu Kalkulačky, ktorá otvorí systém WindowsZároveň aplikácia dokáže úspešne prijímať správy zaslané na webovú stránku, ako je znázornené na obrázku nižšie:
Komunikácia medzi hostiteľom a webovým obsahom
Hosty a webový obsah môžu byť použité na vzájomnú komunikáciu v postMessages, nasledovne:
- Webový obsah v ovládacom režime WebView2 je možné použiť na publikovanie správy hostiteľovi v windows.chrome.webview.postMessage. Hostiteľ spracuje správu s akoukoľvek správou, ktorá zaregistruje WebMessageReceived na hostiteľovi.
- Hostiteľ publikuje správy do webového obsahu v ovládacom systéme WebView2 CoreWebView2.PostWebMessageAsString pomocou alebo CoreWebView2.PostWebMessageAsJSON. Tieto správy zachytáva handler pridaný do windows.chrome.webview.addEventListener.
Vytvoriť nový projekt Angular SPA
Tento článok využíva Angular 8.2.14 na vytvorenie nového webového projektu, ktorý demonštruje komunikáciu medzi webom a aplikáciou WinForm.
Kód je nasledovný:
Zároveň upraviť app.component.html a app.component.ts súbory, aby mohli plniť funkcie odosielania a prijímania správ.
app.component.html kód je nasledovný:
app.component.ts kód je nasledovný:
Spustite projekt tak, ako je uvedené nižšie:
Aplikácia WinForm
Hostiteľská aplikácia musí upraviť kód nasledovne:
Upraviť ovládanie WebView2Zdrojový atribút je: http://localhost:4200/Na spustenie aplikácie, ako je uvedené nižšie:
Nakoniec skúste posielať správy medzi sebou cez webové a WinForm aplikácie a uvidíte, že obe strany môžu správy úspešne prijímať, ako je znázornené na nasledujúcom obrázku:
(Koniec)
|