Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 6696|Jawab: 5

[Sumber] WebView2 (3) Komunikasi dua arah antara aplikasi Web dan WinForm

[Salin tautan]
Diposting pada 27/09/2022 22.12.31 | | | |
Persyaratan: Bagaimana WebView2 dapat merender dan menampilkan sumber daya web untuk tindakan pengguna, bagaimana antarmuka web dapat berkomunikasi dengan aplikasi WinForm? Misalnya, web membaca informasi perangkat keras melalui aplikasi, dan aplikasi secara aktif menyegarkan konten halaman web.

Resensi:

[WebView2] (1) Pengenalan awal teknologi Microsoft Edge WebView2
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) WinForm memperkenalkan WebView2 untuk menampilkan konten web
https://www.itsvse.com/thread-10362-1-1.html
Pertama, lihat rendering komunikasi antara web dan aplikasi WinForm, web mengirimkan pesan ke aplikasi,Memanggil fungsi Kalkulator yang membuka sistem WindowsPada saat yang sama, aplikasi juga dapat berhasil menerima pesan yang dikirim ke sisi web, seperti yang ditunjukkan pada gambar di bawah ini:



Komunikasi antara host dan konten web

Host dan konten web dapat digunakan untuk berkomunikasi satu sama lain di postMessages, sebagai berikut:

  • Konten web di kontrol WebView2 dapat digunakan untuk memublikasikan pesan ke host di window.chrome.webview.postMessage. Host memproses pesan dengan pesan apa pun yang mendaftarkan WebMessageReceived di host.
  • Host menerbitkan pesan ke konten Web di kontrol WebView2 CoreWebView2.PostWebMessageAsString menggunakan atau CoreWebView2.PostWebMessageAsJSON. Pesan ini diambil oleh handler yang ditambahkan ke window.chrome.webview.addEventListener.


Membuat proyek Angular SPA baru

Artikel ini menggunakan Angular 8.2.14 untuk membuat proyek web baru untuk mendemonstrasikan komunikasi antara web dan aplikasi WinForm.

Kodenya adalah sebagai berikut:

Pada saat yang sama, modifikasi file app.component.html dan app.component.ts untuk mewujudkan fungsi mengirim dan menerima pesan.

Kode app.component.html adalah sebagai berikut:

Kode app.component.ts adalah sebagai berikut:

Jalankan proyek seperti yang ditunjukkan di bawah ini:



Aplikasi WinForm

Aplikasi host perlu memodifikasi kode sebagai berikut:

Mengubah kontrol WebView2Atribut sumber adalah: http://localhost:4200/untuk meluncurkan aplikasi, seperti yang ditunjukkan di bawah ini:



Terakhir, coba kirim pesan satu sama lain dengan aplikasi Web dan WinForm, dan Anda dapat melihat bahwa kedua belah pihak dapat berhasil menerima pesan, seperti yang ditunjukkan pada gambar berikut:



(Akhir)





Mantan:【Pengoptimalan Kinerja】 Fitur Preconnect, DNS-Prefetch, dan Preload di front-end
Depan:[WebView2] (4) Web dan WinForm memanggil metode fungsi satu sama lain
Diposting pada 28/09/2022 08.55.45 |
Itu harus mengandalkan EDG sebagai sakit kepala
 Tuan tanah| Diposting pada 28/09/2022 19.26.50 |
Zmoli775 Dipaparkan pada 2022-9-28 08:55
Itu harus mengandalkan EDG sebagai sakit kepala

Tidak, tetapi Anda perlu menginstal runtime webview2
Diposting pada 08/10/2022 15.06.24 |
Belajar belajar
Diposting pada 31/03/2023 13.32.46 |
Win7 sepertinya tidak berfungsi, saya membaca dokumentasi Microsoft mengatakan tidak mendukungnya?
 Tuan tanah| Diposting pada 07/01/2025 13.29.35 |
dalam proses yang sama. NET dan JavaScript.

Login hyperlink terlihat.
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com