Winform 使用WebView2 開發現代應用

WebView2 是 Microsoft 提供的一種嵌入式瀏覽器控件,基於 Edge (Chromium) 引擎。

它允許開發者將現代 Web 技術(如 HTML、CSS 和 JavaScript)與桌面應用相結合,從而構建強大、靈活的用戶界面。

本文將介紹 WebView2 的基本使用,並重點講解以下幾個重要功能:

NewWindowrequested

WebResourceResponseReceived

AddWebResourceRequestedFilter

WebResourceRequested

安裝 WebView2 Runtime:WebView2 需要運行時支持,用戶設備必須安裝 WebView2 Runtime。如果未安裝,可以通過以下鏈接下載:https://go.microsoft.com/fwlink/p/?LinkId=2124703。

引入必要的 NuGet 包:在 Visual Studio 中,添加 Microsoft.Web.WebView2NuGet 包。

初始化 WebView2:創建 WebView2 控件並確保其已正確初始化。以下代碼檢查並安裝 WebView2 Runtime:

以下代碼展示瞭如何創建 WebView2 控件並初始化其核心功能:

默認情況下,WebView2 會嘗試在新窗口中打開彈出鏈接。通過 NewWindowRequested事件,我們可以攔截彈窗行爲並將新內容加載到當前窗口。

示例代碼:

攔截和處理網絡響應:WebResourceResponseReceived

通過 WebResourceResponseReceived,我們可以查看並分析所有網絡響應。例如,可以記錄某些請求的響應時間或檢查響應頭信息。

示例代碼:

添加請求過濾器:AddWebResourceRequestedFilter

爲了提高性能並精確控制,WebView2 提供了 AddWebResourceRequestedFilter方法,用於定義需要監聽的請求類型和範圍。

使用方法:

通過 WebResourceRequested事件,可以攔截網絡請求並進行處理,例如修改請求頭或阻止特定請求。

示例代碼:

WebView2 是一個強大的控件,爲開發者提供了豐富的功能來控制和定製 Web 資源的加載行爲。通過本文介紹的事件和方法,你可以:

阻止默認彈窗行爲 (NewWindowRequested)

分析網絡響應 (WebResourceResponseReceived)

精確過濾需要攔截的請求 (AddWebResourceRequestedFilter)

修改或阻止網絡請求 (WebResourceRequested)

藉助這些功能,可以更靈活地將 Web 內容集成到桌面應用程序中,滿足各種業務需求。

關注獲取技術分享