2012-11-01 164 views
2

我使用DocumentCompleted但这被炒鱿鱼多次。现在我已经看到了这个示例if (e.Url.AbsolutePath != this.webBrowser.Url.AbsolutePath),它用于确认请求的文件已完成加载,但在加载页面上的任何其他内容(如图像)之前,它会被触发。因此,我仍然无法确定网页何时完全加载。DocumentCompleted事件(Windows窗体C#)

有没有一种方法,以确保网页完全载入并没有什么加载?

+0

以我的经验,'DocumentCompleted'应该不会被解雇多次。你有一些URL重定向吗? –

+0

@lc。我只是开www.hotmail.com现在的web浏览器(我需要打开这个页面,但将需要打开其他人)所以我猜可能会在问题被重定向 –

回答

1

DocumentCompleted触发事件在网页中的每个帧,也为已加载的所有子文件(如JS和CSS)。你可以看看DocumentCompletedWebBrowserDocumentCompletedEventArgs和查询的网址财产和比较,为主页的网址。

最简单的方法是检查完成加载的网址:

void webBrowser1_DocumentCompleted(object sender, 
     WebBrowserDocumentCompletedEventArgs e) 
{ 
    if (e.Url.Equals(webBrowser1.Url)) { 
     // Here the page is fully loaded   
    } 
} 
+0

就像我说的,我已经使用了这种相等性,但事实上这个事件实际上是先被触发的(在所有其他形式之前)所以实际上,当if语句为true时,页面没有被完全加载(没有加载框架)。使用这个并不能提供给我能够告诉页面何时完全加载 –