如何检查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;
答案 0 :(得分:4)
使用Ajax的网页由浏览器加载并执行JavaScript以更新/修改其内容。
客户端不知道何时达到“完全完成”状态。某些JavaScript方法可能会在延迟之后运行,也可能会定期运行。