如何确定NewWindow事件要打开的URL?

时间:2011-02-04 14:30:10

标签: vb.net url event-handling popup webbrowser-control

我正在尝试构建一个简单的桌面应用程序,以便将用户留在某个网站上。它非常简单,只是一个禁用右键单击的web浏览器控件。但是,我们网站上的某些应用程序需要弹出窗口,这些窗口始终打开一个完整的浏览器窗口。

Private Sub WebBrowser1_NewWindow(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow        
    'What will the URL of this new window be?
    Console.WriteLine("New Window maybe to " & WebBrowser1.Url.AbsoluteUri)

End Sub

捕获newwindow事件似乎很简单,但事件未指定传递给新窗口的URL。我见过一些“NewWindow2”事件,但vb.net似乎没有这样的事情。

如何获取即将在新窗口中打开的URL?

该链接是从普通的Web应用程序生成的,而不是通过webbrowser.navigate调用生成的,因此它几乎可以是任何内容。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以捕获NewWindow2事件,创建新的浏览器实例,以新的形式或选项卡托管它并将其传递给ppDisp,然后处理BeforeNavigate2以获取新的URL。如有必要,您可以取消导航。有关详细信息,请参阅Handle the BeforeNavigate2 event in the new window to get the url.