如何在csharp中的webbrowser控件中确定何时完全加载页面?

时间:2011-04-29 13:30:57

标签: c# internet-explorer browser webbrowser-control

您好 我在C Sharp开发IE工具栏,访问IE中显示的页面的html源并处理它。我依赖于ondocumentcomplete事件处理程序。触发时,会获取html源代码。但是我有一个有帧的页面有问题,因为每个帧都会触发ondocumentcomplete,最后一个是outter frame,即窗口。为了解决这个问题,我确实喜欢这个 -

    public void OnDocumentComplete(object pDisp, ref object URL)
    {
      if (pDisp.Equals(Explorer.IWebBrowser_Parent))
        {
             // check for frames n get the source of all
        }
      else
            // ignore
     }
像这样,我能够获得所有帧的来源。 但问题是对于某些具有框架或iframe的页面,不会为窗口触发ondocumentcomplete。所以上面的代码不会处理任何这样的 - 例如 http://www.w3schools.com/html/tryit.asp?filename=tryhtml_intro 触发该网址的ondocumplete, 然而点击编辑并单击我按钮虽然重新加载框架,但没有触发ondocumentcomplete窗口。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题似乎是:我如何知道何时停止接收请求中的数据?

如果你这样说,你可能会在你做的时候理解,也就是说,你没有得到更多的数据(设置一个计时器来检查),或者关闭页面的连接等等。