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);
}
