1

在 WPF 中使用 WebBrowser,如何检查 URL 的变化?有没有可以在达到条件时触发的偶数?下面我有一个按钮事件,它将 设置App.browserLinkCheck为目标 URL,并打开 WebBrowser 实例。

private void btNextWelcomeNewHire_Click(object sender, System.Windows.RoutedEventArgs e)
{
    App.borwserLinkCheck = App._PasswordSyncWebLink;
    webBrowser.Navigate(new Uri(App.borwserLinkCheck));
    //webBrowser.Navigating += webBrowser_Navigating;
}
4

2 回答 2

4

您可以使用Navigating事件来检测甚至取消 webBrowser 中的导航。

您可以保存当前WebBrowserurl 并将其与Navigating事件中收到的新 url 进行比较,然后比较它们是否已更改。

    private Uri currentUri;

    void myBrowser_Navigating(object sender, NavigatingCancelEventArgs e)
    {
        if (currentUri.AbsolutePath != e.Uri.AbsolutePath)
        {
            // Url has changed ...

            // Update current uri
            currentUri = e.Uri;
        }
    }
于 2013-10-04T15:03:53.783 回答
0

感谢@Omribitan 示例,我通过调整代码设法克服了 NullException 问题:

private String targetStringToCompare = "www.example.com";

void myBrowser_Navigating(object sender, NavigatingCancelEventArgs e)
{
    if (e.Uri.AbsoluteUri.ToString() == targetStringToCompare)
    {
        // Do something when the change will be detected
    }
}
于 2013-10-07T10:22:34.847 回答