2

Visual Studio 2008 を使用して、VB で WebKit コンポーネント (http://www.webkit.org/) を使用しようとしています。

これは、次の 2 つの問題を除いて、問題なく実行されています。新しい目的の URL を取得する方法がわかりません。

私はすでにこの問題に数日取り組んでおり、まだ解決策を見つけることができませんでした:(

この問題の解決策を知っているかもしれません。

乾杯 マーカス G.

PS: 問題を分析するために次のソース コード以外のものが必要な場合は、お知らせください...

ソースコード 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

コードフォーム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-component を新しいフォームに既に追加していましたが、これが問題だった可能性があります。トリックは、フォーム内の既存の webkitbrowser-component をオーバーロードするのではなくWebKitBrower、引数に直接接続される新しい要素を作成することだと思います。e.WebkitBrowser今は理由を聞かないでください (本当にわかりません) :P

ああ、私は Webkit.NET コンポーネントを使用したことを付け加えておきます。同じトリックが OpenWebkitSharp-wrapper でも機能します

ヒント問題はまだ残っています...

于 2012-06-04T10:05:44.580 に答える