WebBrowser的DocumentCompleted事件多次被调用,怎么判断页面加载完毕。
比如WebBrowser打开http://www.abc.com/index.htm页面时,同时访问了下面的url,怎么判断页面加载所有url完毕。
http://www.abc.com/index.htm
http://m.abc.com/123.htm
。。。。
------解决方案--------------------通过webBrowser的IsBusy属性判断
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (!webBrowser1.IsBusy)
Console.WriteLine("加载完毕!");
else
Console.WriteLine("加载中...");
}
------解决方案-------------------- 哦,想起来了,这个事件只触发一次,我以前遇到过,后来用循环等待解决的
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
while(webBrowser1.IsBusy)
{
Console.WriteLine("加载中...");
Application.DoEvents();
System.Threading.Thread.Sleep(10);
}
Console.WriteLine("加载完毕!");
}
------解决方案--------------------
楼上代码很赞
------解决方案--------------------比如说一个页面,有js定时器,设置为每秒刷新1次,那么你说的文档加载完是什么时候?