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

本文关键字:何时完 加载 csharp 中的 控件 webbrowser | 更新日期: 2023-09-27 17:54:20

嗨我在C Sharp中开发了一个IE工具栏,它可以访问IE中显示的页面的html源并进行处理。我依赖于ondocumentcomplete事件处理程序。当它被激发时,html源被获取。但我遇到了页面有框架的问题,因为每个框架都会触发ondocumentcomplete,最后一个是外部框架,即窗口。为了解决这个问题,我喜欢这个-

    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为该url激发ondocucomplete,然而,单击"编辑并单击我"按钮虽然会重新加载框架,但不会为窗口激发文档完整性。如何解决这个问题?

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

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

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