我使用DocumentCompleted但这被炒鱿鱼多次。现在我已经看到了这个示例if (e.Url.AbsolutePath != this.webBrowser.Url.AbsolutePath)
,它用于确认请求的文件已完成加载,但在加载页面上的任何其他内容(如图像)之前,它会被触发。因此,我仍然无法确定网页何时完全加载。DocumentCompleted事件(Windows窗体C#)
有没有一种方法,以确保网页完全载入并没有什么加载?
我使用DocumentCompleted但这被炒鱿鱼多次。现在我已经看到了这个示例if (e.Url.AbsolutePath != this.webBrowser.Url.AbsolutePath)
,它用于确认请求的文件已完成加载,但在加载页面上的任何其他内容(如图像)之前,它会被触发。因此,我仍然无法确定网页何时完全加载。DocumentCompleted事件(Windows窗体C#)
有没有一种方法,以确保网页完全载入并没有什么加载?
DocumentCompleted
触发事件在网页中的每个帧,也为已加载的所有子文件(如JS和CSS)。你可以看看DocumentCompleted
的WebBrowserDocumentCompletedEventArgs
和查询的网址财产和比较,为主页的网址。
最简单的方法是检查完成加载的网址:
void webBrowser1_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.Equals(webBrowser1.Url)) {
// Here the page is fully loaded
}
}
就像我说的,我已经使用了这种相等性,但事实上这个事件实际上是先被触发的(在所有其他形式之前)所以实际上,当if语句为true时,页面没有被完全加载(没有加载框架)。使用这个并不能提供给我能够告诉页面何时完全加载 –
以我的经验,'DocumentCompleted'应该不会被解雇多次。你有一些URL重定向吗? –
@lc。我只是开www.hotmail.com现在的web浏览器(我需要打开这个页面,但将需要打开其他人)所以我猜可能会在问题被重定向 –