【发布时间】:2013-08-21 17:25:55
【问题描述】:
我测试我的 WebBrowser 是否完成:
webBrowser2.DocumentCompleted += (s, e) =>
{
// Do stuff
}
我以大量 JS 文件和 iframe 等形式访问的网页,因此我使用以下函数来确保它是已完成加载的实际页面。
webBrowser2.DocumentCompleted += (s, e) =>
{
if (e.Url.AbsolutePath != (s as WebBrowser).Url.AbsolutePath)
{
return;
}
// Do stuff
}
但是,它似乎仍然无法正常工作。我是在做错什么,还是在语法上是正确的,而我的代码中还有其他错误?
【问题讨论】:
-
在标题上大声笑:D
-
比较与多次触发的处理程序有什么关系?我想我在这里遗漏了一些东西。
-
哈哈哈我只知道有人会标记重复...也许是如果我在做一些愚蠢的事情。
-
显然
DocumentCompleted在某些页面上触发多次,即当 iframe 加载时,当 JS 文件加载时等。我只想在整个页面加载时运行我的代码。即使我在上面插入了 if 测试,DocumentCompleted仍然会为我的页面触发多次。 -
第一个链接中的
if (browser.ReadyState != WebBrowserReadyState.Complete) return有什么问题?在browser.ReadyState变为WebBrowserReadyState.Complete之后,您还看到DocumentCompleted事件吗?
标签: c# url browser webbrowser-control