C# 使用 Edge Web.WebView2

Visual Studio C# ASP.NET 的應用,替換應用程式 WebBrowser 改用 Microsoft Edge WebView2WinForms 應用程式中內嵌 Microsoft Edge (Chromium) 平台 Web 內容。永久啟動載入器,根據預設 WebView2 會「永久」並接收自動更新,以保持最新狀態且最安全的平台。這個「永久」看以後的網路變化吧。Internet Explorer 瀏覽器徹底淘汰日期在 2022 年 6 月 15 日,某些 Windows 10 版本不再支援 IE 11 傳統型應用程式,並推薦移轉至 Microsoft Edge。原本於本機作業的 WebBrowser 亦可使用新的網路技術。

新版的 Microsoft Edge 瀏覽器採用與 Google Chrome 同樣的 Chromium 核心,因此可以提供更好的網頁相容度,同時也提供久違的 macOS 版本。Chromium 早自 2006 年即開始 Google 為發展 Google Chrome 瀏覽器而釋出的免費開源軟體專案,為了創建一個安全、穩定和快速的通用瀏覽器,以 BSD 授權條款等數種授權發行並開放原始碼。Chromium 與 Google Chrome 共享瀏覽器大部分程式碼和 JavaScript ECMA 語法支持功能。

EdgeMicrosoft 官方安裝更新 Chromium 核心 Edge 新版的瀏覽器。通過設定可以自己調整,決定自己保護自己隱私安全的程度,可以設定預定搜尋引擎、以及擴充功能,在網頁設計考量時、應該就漸近的擺脫以前相容性的約束。



首先下載 WebView2 執行階段

Microsoft Edge WebView2 RuntimeWebView2 控件可以在由 Microsoft Edge (Chromium) 提供支持的本機應用程序中嵌入當前 Web 技術 HTML、CSS、JavaScript,少了這個 Visual Studio 2017 就沒有辦法顯示指定的 source 網址內容。

https://developer.microsoft.com/zh-TW/microsoft-edge/webview2/

MicrosoftEdgeWebview2Setup.exe




Visual Studio

Microsoft Edge WebView2 基於微軟新版本的 Chromium 核心 Edge 瀏覽器的一部分不斷進行諸多最佳化。該瀏覽器首次預裝在 Windows 10 版本 20H2 中。原本於本機作業的 C# Windows Forms 更新。
Visual Studio 選單中的 Tools 工具(T)、NuGet 套件管理員、管理方案的 NuGet 套件。

Microsoft.Web.WebView2

設置開發工具並為 WinForms 平台創建初始化 WebView2 應用程序。元件開發應用,需要安裝 Microsoft Visual Studio 版本 Visual Studio 2017 或更高版本例如 Visual Studio 2022 Professional。




更改 WebView2 控件的 source 屬性

using System.Windows.Forms;

.NET API 瀏覽器,於 CoreWebView2 的初始化完成後顯示當前指定的 source 網址內容,獲取該屬性相當於獲取 Source 屬性,設置屬性 Navigate(String) 方法。

this.WebView2.Source = new System.Uri("https://www.microsoft.com", System.UriKind.Absolute);

Uri 取得關於目前請求的 URL 資訊,提供統一資源識別元 URI 的物件表示,以及對 URI 各部分的簡易存取。

步驟參考 WinForms 應用程序中開始使用 WebView2

讓應用程序可以支援新世代的瀏覽器方案,例如 ECMA-262 等新的語法。
Get started with WebView2 in WinForms apps

https://docs.microsoft.com/en-us/microsoft-edge/webview2/get-started/winforms




Microsoft Edge Chromium

Class 經典版 Edge 正式退役後,Microsoft 微軟將會把大部分中心都放在新版 Edge Chromium 提供支持當前 Web 技術。

未知 Internet Explorer 瀏覽器淘汰後,如果應用於本機的程式會如何,WebBrowser 改變為 WebView2 例如 document.execCommand("cut") 安全考量,以及細微版面變化,但仍然是應該隨時代進步來跟隨。


註冊表修改 webbrowser 指定內核為 IE11

電腦\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

11001(0x2AF9) - Internet Explorer11。無論!DOCTYPE 指令如何,網頁均以 IE11 edge mode 顯示。
11000(0x2AF8) - Internet Explorer11。包含基於標準!DOCTYPE 指令的網頁以 IE11 edge mode 顯示。IE11 的默認值。

修正的結果仍然不支持當前 Web 技術 HTML、CSS、JavaScript 建議使用 WebView2 更換,應用程序亦能升級。