1

我在我的 C# 应用程序中使用 System.Windows.Controls.Webbrowser 类。我想识别文档标题是否更改。

因此,我收听 LoadComplete 事件并获得标题

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

现在的问题是,标题可能会在加载过程中发生变化。在这种情况下,LoadCompleted 事件不会触发。下一个问题是。我有一个 html 应用程序,它在应用程序中导航 javascript 函数。如果使用这些 javascript 链接,事件也不会触发。

我正在寻找来自 CHtmlView (c++) 的 OnTitleChange 之类的事件是否有可能解决我的问题?

感谢帮助。

4

2 回答 2

0

WPF 网络浏览器不支持。

您可以使用 windows 窗体互操作来显示 windows 窗体 webbrowser 控件,然后订阅 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 回答