У меня проблема с обработкой всплывающих окон.Я реализовал ILifeSpanHandler и OnBeforeBrowse (среди других) из IRequestHandler.
Как узнать в ILifeSpanHandler, какой URL вызывается?Я не могу получить его ни в OnAfterCreated, ни в OnBeforePopup.В настоящее время я вижу это сначала в OnBeforeBrowse.
У меня нет кода, так как мой вопрос «Как».В OnBeforePopup я проверил targetUrl, но, похоже, он есть для украшения, так как я прочитал, что он все равно не реализован.Я также посмотрел на объекты browner / chromiumWebBrowser, браузер и newBroswer кажутся ничем.Можно ожидать, что в OnAfterCreated chromiumWebBrowser вернет объект, но в моем случае это ничего.
Я тестирую со следующим
Public Sub OnAfterCreated(chromiumWebBrowser As IWebBrowser, browser As IBrowser) Implements ILifeSpanHandler.OnAfterCreated
Try
Debug.Print(vbNewLine)
Debug.Print("OnAfterCreated")
Debug.Print(String.Concat("OnAfterCreated - MainFrame.Url "), browser.MainFrame.Url)
Debug.Print("OnAfterCreated")
Debug.Print(vbNewLine)
Catch ex As Exception
End Try
End Sub
И у меня есть следующее
Public Function OnBeforePopup(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, targetUrl As String, targetFrameName As String, targetDisposition As WindowOpenDisposition, userGesture As Boolean, popupFeatures As IPopupFeatures, windowInfo As IWindowInfo, browserSettings As IBrowserSettings, ByRef noJavascriptAccess As Boolean, ByRef newBrowser As IWebBrowser) As Boolean Implements ILifeSpanHandler.OnBeforePopup
Try
Debug.Print(vbNewLine)
Debug.Print("OnBeforePopup")
Debug.Print(String.Concat("OnBeforePopup - targetUrl "), targetUrl)
Debug.Print(String.Concat("OnBeforePopup - browser.MainFrame.Url "), browser.MainFrame.Url)
Debug.Print(String.Concat("OnBeforePopup - chromiumWebBrowser.Address "), chromiumWebBrowser.Address)
Debug.Print("OnBeforePopup")
Debug.Print(vbNewLine)
Catch ex As Exception
End Try
Return False
End Function