检测网页何时满载webbrowser控件c#
我正在使用WebBrowser
控件,有一个名为DocumentCompleted
的事件,此事件将针对网页中的每个帧以及所有已加载的子文档(例如JS和CSS)触发。
我的问题是如何检测此事件的最后一个条目,我的意思是如何检测页面何时完全加载,并且此事件不会再次触发。
我找了很多,我找到了这样的解决方案:
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (e.Url.Equals(webBrowser1.Url)) { // Here the page is fully loaded } }
但这并不适用于所有url!
任何人都知道如何实现这一目标?
提前
对于带有框架的文档,可能会多次触发DocumentComplete
事件。 同时,对于特定文档,HTML DOM window.onload
事件将仅触发一次。 以下是如何使用此事实来处理首页加载的完成。
OTOH,有些页面非常复杂,并且使用连续的AJAX更新。 严格来说,可能无法始终确定像这样的页面何时完成其渲染,概率为100%。 但是,你可以接近, 这是如何 。