【问题标题】:DocumentCompleted event when the page is fully loaded in WebBrowser form (Windows Forms C#)页面在 WebBrowser 表单中完全加载时的 DocumentCompleted 事件(Windows 窗体 C#)
【发布时间】:2012-10-21 16:29:42
【问题描述】:

我使用 DocumentCompleted 但这会被多次触发。现在我看到了这个示例if (e.Url.AbsolutePath != this.webBrowser.Url.AbsolutePath),它用于确认请求的文件已完成加载,但在加载页面上的其他任何内容(如图像)之前就会触发它。因此,我仍然无法判断网页何时完全加载。

有没有办法确保网页已完全加载并且没有加载任何内容?

【问题讨论】:

  • 根据我的经验,DocumentCompleted 不应该被多次解雇。您是否正在进行一些 URL 重定向?
  • @lc。我现在只是在 WebBrowser 上打开 www.hotmail.com(我需要打开此页面,但需要打开其他页面)所以我猜这可能是重定向

标签: c# .net winforms


【解决方案1】:

DocumentCompleted 事件会为网页中的每一帧以及所有加载的子文档(例如 JS 和 CSS)触发。您可以查看DocumentCompleted 中的WebBrowserDocumentCompletedEventArgs 并检查Url 属性并将其与主页的Url 进行比较。

简单的方法是检查完成加载的 URL:

void webBrowser1_DocumentCompleted(object sender,
        WebBrowserDocumentCompletedEventArgs e)
{
    if (e.Url.Equals(webBrowser1.Url)) {
        // Here the page is fully loaded        
    }
}

【讨论】:

  • 就像我在问题中所说的那样,我使用了这种相等性,但这个事件实际上首先被触发(在所有其他形式之前)所以事实上,当 if 语句为真时,页面是未完全加载(没有加载任何框架).. 使用它不能让我知道页面何时完全加载
猜你喜欢
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-09
  • 2012-05-30
  • 2012-08-22
相关资源
最近更新 更多