我有一个使用WPF Web浏览器的简单应用程序:
<WebBrowser x:Name="browserMovieLinks" Navigating="browserMovieLinks_Navigating"/>
和codebehind中的事件处理程序:
private void browserMovieLinks_Navigating(object sender, NavigatingCancelEventArgs e)
{
//do whatever
}
在过去的几年中,这一切都运行良好:当用户点击WebBrowser控件所显示的页面中的链接时,导航事件总是被触发。
然而,我最近注意到(不知道何时或为何不幸)这已停止工作。不知道是不是因为我在不同的机器上,或者在.NET库或WebBrowser控件下的IE实现中发生了变化,但现在事件不再发生了。
有关正在发生的事情的任何线索?
注意:在你指出它之前,我知道SO上还有其他类似的问题(例如:Webbrowser not firing events when you click links after navigating to a page)但是没有一个能给出正确的解决方案。他们都建议使用不同的第三方组件或者没有任何满意的答案,所以我打开这个组件是为了获得这个问题的正确答案。
答案 0 :(得分:0)
(一个警告,我在带有WebBrowser控件的WinForms中遇到了这个问题,因此它可能与WPF中的问题不完全相同。)
您的链接是什么样的?我有一个类似的问题,是由锚链接中的目标参数设置为_blank引起的。
所以:
<a href="https://example.com" target="_blank">
可以在另一个窗口中正确打开链接,但不会触发任何导航事件,因为浏览器本身并未在任何地方进行导航。我的解决方案是删除目标参数:
<a href="https://example.com">
然后导致浏览器发生导航事件。
答案 1 :(得分:0)
只需结束这个问题:就我而言,这是系统级别的某种问题,IE在其他情况下的表现也很奇怪。在新安装的Windows上,它再次开始工作。