Как определить URL, который должен быть открыт событием NewWindow? - PullRequest
0 голосов
/ 04 февраля 2011

Я пытаюсь создать простое настольное приложение, чтобы держать пользователей на определенном веб-сайте. Это очень просто, просто веб-браузер с отключенным правым кликом. Однако некоторые приложения на нашем веб-сайте требуют всплывающих окон, и эти окна всегда открывают полное окно браузера.

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, который будет открыт в новом окне?

Ссылка генерируется из обычного веб-приложения, а не через вызов webbrowser.navigate, поэтому она может быть практически любой.

Спасибо

1 Ответ

0 голосов
/ 04 февраля 2011

Вы можете перехватить событие NewWindow2, создать новый экземпляр браузера, разместить его в новой форме или вкладке и передать его в ppDisp, а затем обработать BeforeNavigate2, чтобы получить новый URL. При необходимости вы можете отменить навигацию. См. Обработка события BeforeNavigate2 в новом окне, чтобы получить URL. для получения подробной информации.

...