[C#] 在 WinForms 中使用 Edge WebView2 處理新視窗點擊事件

2024-06-07

這幾天分享一了關於 Edge WebView2 的應用,這時候有同事問我如何處理開新視窗之後的處理

他必須要模擬點擊,但是該連結為 _blank ,他必須要處理點擊後的視窗,在預設中的確會開啟一個新的視窗長這樣..

今天目標就是我們在設計一個新的 Form  (NewlinkForm) 裡面一樣放一個 Edge WebView2 然後讓視窗點超連結後,都是繼續給 NewlinkForm 來處理

1. 參考這篇文章將 Edge WebView2 設定好

2.開一個新得 Form 這邊取名為 NewlinkForm 下面是原始碼基本上就是,透過 Ctor 串入一個網址,並且在 Edge  WebView 2Init 好之後載入網址


這裡面,我還加上了入如果網頁載入完成我會自動打開 DevTools


3. 回到第一個視窗,我們在處理點擊 Link 後的事件 主要是在 CoreWebView2InitializationCompleted 後加入 NewWindowRequested 的事件

如果不是在 CoreWebView2InitializationCompleted 後加入事件有可能會出錯 ,我在 StackOverflow  上面看到蠻多的


結果:


今天筆記到這邊,希望有幫助到需要的人。


reference:

https://learn.microsoft.com/zh-tw/uwp/api/windows.ui.xaml.controls.webview.newwindowrequested?view=winrt-22621



當麻許的超技八 2014 | Donma Hsu Design.