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

标签 c# internet-explorer browser webbrowser-control

嗨 我在 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 的请求的数据?

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

关于c# - 如何确定页面何时在 csharp 的 webbrowser 控件中完全加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5832710/

相关文章:

c# - 如何为特定接口(interface)类型注册DI服务?

c# - 在 C# 中从平面列表创建嵌套列表

c# - 如何在 .NET 中测试可执行文件

javascript - 如何在 IE8 上使用 setAttribute 而不是使用 style.cssText 来更改样式属性

css - 失败的@import url() 请求是否会阻止应用文件中的其余 CSS

c# - C# 和 C 程序之间的命名管道通信失败

internet-explorer - 当系统有许多具有相同 "Major Version"的版本时,如何检查特定版本的 flash player 的存在(在 javascript 中)?

Internet Explorer 中忽略的 HTML/CSS 表格高度

javascript - 开发工具中可见的 html 源代码中的 "Show All Nodes"按钮是什么?

javascript - Android webkit 浏览器中的 XPCOM 支持?