VB.Net - Как получить URL нового окна в GeckoFX60 - PullRequest
0 голосов
/ 19 июня 2019

Как я могу получить URL из нового открытого окна в GeckoFX60

C # код:

void wb1_CreateWindow2(object sender, GeckoCreateWindow2EventArgs e)
    {
        e.Cancel = true;
        e.WebBrowser.Navigate(e.Uri);
    }

но я не могу найти e.Uri в vb.net

я пробовал e.WebBrowser.Url.AbsoluteUri, но всегда ноль

это то, что я пробовал в vb.net

Private Sub GeckoWebBrowser1_CreateWindow(sender As Object, e As Gecko.GeckoCreateWindowEventArgs) Handles GeckoWebBrowser1.CreateWindow
    Try
        e.Cancel = True
        Console.WriteLine(e.WebBrowser.Url.AbsoluteUri)

    Catch ex As Exception

    End Try
End Sub

1 Ответ

0 голосов
/ 26 июня 2019

В GeckoFX 60.x для события CreateWindow объекта GeckoWebBrowser отсутствует свойство Uri для объекта e GeckoCreateWindowEventArgs.

Чтобы получить URL-адрес, создайте новый экземпляр GeckoBrowser, затем вы получитеURL в событии Navigating

Вот пример кода из связанной ветки на форуме GeckoFX:

Private Sub Gecko_CreateWindow(sender As Object, e As GeckoCreateWindowEventArgs) Handles Gecko.CreateWindow
    'Create new form & initialise the browser
    Dim Frm As New GeckoFrm
    Dim h = Frm.Gecko.Handle

    'Keep flags for use in Navigating event
    If e.Flags = GeckoWindowFlags.All Then
        Frm.Gecko.SetContextFlagsAttribute(ContextFlags.Tab)
    Else
        Frm.Gecko.SetContextFlagsAttribute(ContextFlags.Popup)
    End If

    'Pass back the browser
    e.WebBrowser = Frm.Gecko
End Sub

Private Sub Gecko_Navigating(sender As Object, e As GeckoNavigatingEventArgs) Handles Gecko.Navigating
    If Gecko.GetContextFlagsAttribute And ContextFlags.Tab Then
        'Navigate existing or open tab
        NavigateTab(e.Uri.ToString)
    ElseIf Gecko.GetContextFlagsAttribute And ContextFlags.Popup Then
        If BlockPopup()
            e.Cancel = True
            Return
        Else
            'navigate existing or open popup
            NavigatePopup(e.Uri.ToString)
        End If
    Else
        'Not a popup, just show 
        Show()
    End If
    'Clear the popup/tab flags
    Gecko.SetContextFlagsAttribute(0)
End Sub
...