2012-04-11 1 views
2

Ich versuche, die WebKit-Komponente (http://www.webkit.org/) in VB mit Hilfe von Visual Studio 2008 zu verwenden.Wie ist es möglich, die URL des gewünschten Popups auf das Popup-Formular zu parsen UND Hinweise/Tooltips in der WebKit-Komponente anzuzeigen?

Dies funktioniert ohne Probleme, mit Ausnahme von zwei folgenden zwei Probleme : 1. Hinweise/Tooltips werden nicht angezeigt (zB wie es normalerweise erscheint, wenn Sie mit der Maus über das Google-Logo bleiben) 2. Wenn es ein Popup-Fenster gibt, weiß ich nicht, wie ich das neue bekommen soll gewünschte URL

Ich bin schon ein paar Tage in dieser Sache zu arbeiten und keine Lösung noch :(Sie

Vielleicht wissen, eine Lösung für dieses Problem.

Beifall Markus G.

finden konnte,

PS: Wenn Sie mehr als den folgenden Quellcode müssen das Problem analysieren, dann lassen Sie mich wissen ...

Source Code Form1

Imports System.IO 
Imports WebKit 

Public Class frmMain 

    Private _url As String 
    Private _mode As String 
    Private _popupUrl As String 


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    On Error Resume Next 
    Dim bLogging As Boolean 

    setWindowAndBrowserSettings() 

    _url = "http://www.google.com" 
    browserComp.Navigate(_url) 
    End Sub 

    Private Sub setWindowAndBrowserSettings() 
    Me.Text = "Test - Browser" 
    Me.WindowState = FormWindowState.Maximized 
    browserComp.Dock = DockStyle.Fill 
    browserComp.Visible = True 
    End Sub 

    Private Sub browserComp_NewWindowCreated(ByVal sender As Object, ByVal e As WebKit.NewWindowCreatedEventArgs) Handles browserComp.NewWindowCreated 
    'frmPopup.WindowState = FormWindowState.Maximized 
    frmPopup.Text = "ixserv - POPUP" 
    frmPopup.popup.Navigate(_popupUrl) 
    frmPopup.Show() 
    End Sub 

    Private Sub browserComp_NewWindowRequest(ByVal sender As Object, ByVal e As WebKit.NewWindowRequestEventArgs) Handles browserComp.NewWindowRequest 
    e.Cancel = False 
    _popupUrl = browserComp.Url.ToString ' WHERE can I get the clicked URL? This is the old one of the remaining window 
    End Sub 
End Class 

-Code Form2

Public Class frmPopup 

End Class 
+0

Niemand eine Idee? –

+0

Okay, ich habe herausgefunden, dass es im Webkit selbst einen Fehler gab (siehe hier: https://bugs.webkit.org/show_bug.cgi?id=41441). Daher habe ich Webkit jetzt aktualisiert (weil dieser Fehler in Bezug auf die obere Seite behoben wurde), aber das Problem bleibt immer noch gleich - ich kann keine URL in einem neuen Popup öffnen. Ich gehe davon aus, dass ich auch den Code im Webkit.NET anpassen muss, um den neuen Code zu analysieren. Aber ich weiß eigentlich nicht, was die Änderungen in Webkit selbst sind? Muss ich auch die Funktionen in Webkit.NET ändern? –

Antwort

0

Nach Popup/new-Window-Create-Funktion funktioniert für mich:

Private Sub browserComp_NewWindowCreated(ByVal sender As Object, ByVal e As WebKit.NewWindowCreatedEventArgs) Handles browserComp.NewWindowCreated 
    frmPopup.Text = "POPUP" 
    Dim popupBrowser As WebKit.WebKitBrowser 
    popupBrowser = e.WebKitBrowser 
    frmPopup.Controls.Add(popupBrowser) 
    frmPopup.Show() 
End Sub 

während frmPopup eine neue Form ist.

Bevor ich das ausprobiert habe, habe ich dem neuen Formular bereits die Webkit-Komponente hinzugefügt, was vielleicht das Problem gewesen sein könnte. Ich vermute, der Trick besteht darin, ein neues WebKitBrower -Element zu erstellen, das direkt mit dem Argument e.WebkitBrowser verbunden ist, anstatt eine bestehende webkitbrowser-Komponente im Formular zu überladen. Fragen Sie mich jetzt nicht nach Gründen dafür (ich weiß es wirklich nicht): P

Oh, ich sollte hinzufügen, dass ich die Webkit.NET-Komponente verwendet habe. Der gleiche Trick funktioniert auch für den OpenWebkitSharp-Wrapper

Das Hinweis-Problem auch ...

Verwandte Themen