在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;
}
答案 0 :(得分:4)
您可以使用Navigating事件来检测甚至取消webBrowser中的导航。
您可以保存当前的WebBrowser
网址,并将其与Navigating
事件中收到的新网址进行比较,然后比较它们以查看它是否已更改。
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;
}
}
答案 1 :(得分: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
}
}