2

我正在尝试在 Visual Studio 2008 的帮助下在 VB 中使用 WebKit 组件(http://www.webkit.org/)。

这运行没有问题,除了以下两个问题: 1. 未显示提示/工具提示(例如,如果您将鼠标悬停在 Google 徽标上,通常会出现一个) 2. 如果有一个弹出窗口,我不知道如何获取新的所需 URL。

我已经在这件事上工作了几天,但还没有找到任何解决方案:(

也许你知道解决这个问题的方法。

干杯马库斯G。

PS:如果你需要多于下面的Source Code来分析问题,那就让我知道...

源代码表格1

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

代码表格2

Public Class frmPopup

End Class
4

1 回答 1

0

以下 popup/new-Window-Create-function 对我有用:

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

而 frmPopup 是一种新形式。

在我尝试这个之前,我已经将 Webkit 组件添加到新表单中,这可能是问题所在。我假设,诀窍是创建一个WebKitBrower直接连接到参数的新元素,e.WebkitBrowser而不是重载表单中现有的 webkitbrowser 组件。现在不要问我这个原因(我真的不知道):P

哦,我应该补充一点,我使用了 Webkit.NET 组件。同样的技巧也适用于 OpenWebkitSharp-wrapper

提示问题仍然存在......

于 2012-06-04T10:05:44.580 回答