WebView2 応用テクニック

リンククリック時に別ウィンドウを開かずに自ウィンドウに表示する2

こちらの方法では、リンク(アンカータグ)のtarget属性を「_self」に書き換えることで、
新しいウィンドウではなく自身のウィンドウで表示するようにしましたが、
この方法ではWebView2ブラウザ内部で別ウィンドウを表示しないように処理します。

新しくウィンドウを作成するときに発生するNewWindowRequestedイベントで、
ウィンドウ作成の抑止と、元々のWebView2でページを開くようにします。

						Private Async Sub InitializeAsync()

							Await webView2.EnsureCoreWebView2Async(Nothing)
							AddHandler webView2.CoreWebView2.NewWindowRequested, AddressOf NewWindowRequested
				
						End Sub
						
						Private Sub NewWindowRequested(sender As Object, e As CoreWebView2NewWindowRequestedEventArgs)

							'新しいウィンドウを開かなくする
							e.Handled = True
					
							'元々のWebView2でリンク先を開く
							webView2.CoreWebView2.Navigate(e.Uri)
					
						End Sub
					
							public async void InitializeAsync()
							{
								await webView2.EnsureCoreWebView2Async(null);
								webView2.CoreWebView2.NewWindowRequested += NewWindowRequested;
							}
					
							private void NewWindowRequested(object sender, CoreWebView2NewWindowRequestedEventArgs e)
							{
								//新しいウィンドウを開かなくする
								e.Handled = true;
					
								//元々のWebView2でリンク先を開く
								webView2.CoreWebView2.Navigate(e.Uri);
							}
					

参考