1

C# アプリで System.Windows.Controls.Webbrowser クラスを使用しています。ドキュメントのタイトルが変更されたかどうかを認識したい。

したがって、私は LoadComplete イベントをリッスンし、タイトルを取得します

    public void webBrowser_LoadCompleted(object sender, NavigationEventArgs e)
    {
        dynamic doc = browser.Document;
        setTitle(doc.Title);
    }

問題は、ロード中にタイトルが変更される可能性があることです。この場合、LoadCompleted イベントは発生しません。次の問題は。アプリケーション内のjavascript関数をナビゲートするhtmlアプリケーションがあります。これらの JavaScript リンクを使用する場合、イベントも発生しません。

CHtmlView (c++) からの OnTitleChangeのようなイベントを探しています。問題を解決できる可能性はありますか?

手伝ってくれてありがとう。

4

2 に答える 2

0

WPF Web ブラウザーではサポートされていません。

Windows フォームの相互運用機能を使用して、Windows フォームの Web ブラウザー コントロールを表示し、DocumentTitleChanged イベントをサブスクライブできます。

于 2013-04-29T23:31:33.870 に答える
0

これは私のための作業コードです:

        System.Windows.Forms.WebBrowser browser = new System.Windows.Forms.WebBrowser();
        browser.Navigate(URL);
        browser.DocumentTitleChanged += new EventHandler(browser_DocumentTitleChanged);

        WindowsFormsHost winFormsHost = new WindowsFormsHost();
        winFormsHost.Child = browser;
        AddChild(winFormsHost);

public void browser_DocumentTitleChanged(object sender, EventArgs e)
{
  setTitle(browser.DocumentTitle);
}
于 2013-04-30T19:06:04.957 に答える