如何检查WebBrowser完全完成?

时间:2013-08-09 10:27:09

标签: ajax delphi twebbrowser

如何检查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;

1 个答案:

答案 0 :(得分:4)

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

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