Skip to main content
 首页 » 编程设计

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

2024年01月12日46cmt

嗨 我在 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 触发一个 ondocumplete, 然而点击编辑并点击我按钮虽然重新加载框架,但不会触发窗口的文档完成。如何解决这个问题?

请您参考如下方法:

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

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