我打开一个网页,这个网页中有4 - 7个Frame,怎么样才可以判断已全部加载完毕了?
我在webbrowser的OnDocumentComplete事件中写 if not webbrowser.busy then
不行啊~ 因为每一个Frame加载完后,就会触发一次,根本没办法判断!
我的设计思路是: 当网页加载完毕后,把该页中的所有连接读取出来,但是怎么判断才知道webbrowser已真正的加载完毕了呢??????
各位大哥有什么好方法吗?
我在webbrowser的OnDocumentComplete事件中写 if not webbrowser.busy then
不行啊~ 因为每一个Frame加载完后,就会触发一次,根本没办法判断!
我的设计思路是: 当网页加载完毕后,把该页中的所有连接读取出来,但是怎么判断才知道webbrowser已真正的加载完毕了呢??????
各位大哥有什么好方法吗?
PostData:=OleVariant(false);
Heads:=AnsiString('');
Flags:=OleVariant(0);
WebBrowser1.Navigate(Trim(Edit1.Text),Flags,TargetFrameName,PostData,Heads);
Sleep(500);
while WebBrowser1.Busy or (WebBrowser1.ReadyState <> READYSTATE_COMPLETE) do
Application.ProcessMessages;
PostData:=OleVariant(false);
Heads:=AnsiString('');
Flags:=OleVariant(0);
WebBrowser1.Navigate(Trim(Edit1.Text),Flags,TargetFrameName,PostData,Heads);
Sleep(500);
while WebBrowser1.Busy or (WebBrowser1.ReadyState <> READYSTATE_COMPLETE) do
Application.ProcessMessages;
下面这个事件不是吗?
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
beginend;
while WebBrowser1.ReadyState < READYSTATE_COMPLETE do
Application.ProcessMessages;
ShowMessage('加载完毕');