C# 检测WPF WebBrowser中的URL更改
在WPF中使用WebBrowser,如何检查URL中的更改?当它达到某个条件时,是否存在可以触发的偶数?下面是一个按钮事件,它将App.browserLinkCheck设置为目标URL,并打开WebBrowser实例C# 检测WPF WebBrowser中的URL更改,c#,.net,wpf,url,webbrowser-control,C#,.net,Wpf,Url,Webbrowser Control,在WPF中使用WebBrowser,如何检查URL中的更改?当它达到某个条件时,是否存在可以触发的偶数?下面是一个按钮事件,它将App.browserLinkCheck设置为目标URL,并打开WebBrowser实例 private void btNextWelcomeNewHire_Click(object sender, System.Windows.RoutedEventArgs e) { App.borwserLinkCheck = App._PasswordSyncWebLin
private void btNextWelcomeNewHire_Click(object sender, System.Windows.RoutedEventArgs e)
{
App.borwserLinkCheck = App._PasswordSyncWebLink;
webBrowser.Navigate(new Uri(App.borwserLinkCheck));
//webBrowser.Navigating += webBrowser_Navigating;
}
您可以使用事件来检测甚至取消webBrowser中的导航
您可以保存当前的WebBrowser
url,并将其与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;
}
}
您可以使用事件来检测甚至取消webBrowser中的导航
您可以保存当前的WebBrowser
url,并将其与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;
}
}
感谢@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
}
}
感谢@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
}
}
嗨,谢谢你的快速回复。当我运行生成时,我得到以下错误:“用户未处理NullReferenceException”App.borwserLinkCheck=App.\u PasswordSyncWebLink;导航(新Uri(App.borwserLinkCheck));我在按钮事件中调用webBrowser,然后页面加载,我得到了错误。@MarcinLimanski用代码更新您的问题,以便更简单地检测您的问题是用户未处理
NullReferenceException的任何建议。
?@MarcinLimanski您尝试过调试它吗?NullReferenceException
在什么时候引发?假设它被提升到导航
事件,因为它是注释出来的…您好,感谢您的快速响应。当我运行生成时,我得到以下错误:“用户未处理NullReferenceException”App.borwserLinkCheck=App.\u PasswordSyncWebLink;导航(新Uri(App.borwserLinkCheck));我在按钮事件中调用webBrowser,然后页面加载,我得到了错误。@MarcinLimanski用代码更新您的问题,以便更简单地检测您的问题是用户未处理NullReferenceException的任何建议。
?@MarcinLimanski您尝试过调试它吗?NullReferenceException
在什么时候引发?假设它被提升到导航
事件,因为它被注释掉了…比较应该仍然使用=代码>与原始答案相同。否则,您实际上不会检测到Uri
已更改,而是检查它是否保持不变。比较可能仍应使用=代码>与原始答案相同。否则,您实际上不会检测到Uri
已更改,而是检查它是否保持不变。