1

如何检查 WebBrowser 何时完全完成?此代码不适用于繁重的 AJAX 网站。它会在站点真正完成之前触发,从而在 javascript 仍在运行时返回 HTML 代码。

我需要检查网站何时完全完成。此代码已使用http://www.html5test.com进行了测试

procedure Browser_DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  CurWebrowser: IWebBrowser;
  TopWebBrowser: IWebBrowser;
  Document: OleVariant;
  WindowName: string;
begin
  CurWebrowser := pDisp as IWebBrowser;
  TopWebBrowser := (ASender as TEmbeddedWB).DefaultInterface;
  if (CurWebrowser = TopWebBrowser) and not Browser.Busy and (Browser.ReadyState >= READYSTATE_COMPLETE) then begin
    FDocumentLoaded:=True;
    end;
end;
4

1 回答 1

4

使用 Ajax 的网页由浏览器加载并执行 JavaScript 以更新/修改其内容。

客户端不知道何时达到“完全完成”状态。某些 JavaScript 方法可能会在延迟后或定期运行。

于 2013-08-09T10:33:05.320 回答