检测网页何时满载webbrowser控件c#

时间:2014-02-11 17:31:18

标签: c# webbrowser-control

我正在使用WebBrowser控件,有一个名为DocumentCompleted的事件,此事件针对网页中的每个帧以及所有子文档(例如JS和CSS)已加载。

我的问题是如何检测此事件的最后一个条目,我的意思是如何检测页面何时完全加载,并且此事件未再次触发。

我找了很多,我找到了这样的解决方案:

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

但这不适用于所有网址!

有人知道如何实现这个目标吗?

提前

thanx

1 个答案:

答案 0 :(得分:2)

对于包含框架的文档,可能会多次触发DocumentComplete事件。同时,对于特定文档,HTML DOM window.onload事件将仅触发一次。 Here is how使用此事实来处理首页加载的完成。

OTOH,有些页面非常复杂并且使用连续的AJAX更新。严格来说,可能无法始终确定像这样的页面何时完成其渲染,概率为100%。但是,您可以近距离接触here is how