【VB.NET】【WPF】WebBrowser 上のリンクをデフォルトのブラウザで開く

WPF の WebBrowser コントロールに表示されている HTML のリンク(target= "_blank" が付いているもの)をユーザーがクリックすると、システムのデフォルトのブラウザがガン無視されて、常に IE で開かれてしまいます。(なんという仕様でありましょうか)

Forms の WebBrowser コントロールの場合であれば十分な量の対策がネット検索で見つかるようですが、WPF の情報は少ないようですね。

WPF の WebBrowser コントロールに表示されている HTML のリンクをクリックしたときに、システムのデフォルトのブラウザで開かれるようにするには次のようにします。

 

1. HTML のリンクから target="_blank" を取り除きます(既存の HTML を使用するときは、WebBrowser コントロールに読み込む時に取り除けば良いでしょう)。

2. WebBrowser コントロールの Navigating イベントを次のようにします。

リンクに target="_blank" が付いていると Navigating イベントが呼ばれずに IE で開かれてしまうので注意してください。

 

コメントの投稿

avatar
  購読する  
通知を受け取る対象