TWebBrowser流程讲解及如何判断下载网页成功

王朝厨房·作者佚名  2007-01-04
宽屏版  字体: |||超大  

摘要:TWebBrowser流程讲解及如何判断下载网页成功

主题:用TWebBrowser下载网页时如何判断是否成功?急!

作者:CBuilder

所属论坛:Delphi

问题点数:20

回复次数:1

发表时间:2001-1-11 8:30:00

某资料上说,OnNavigateComplete2事件只在下载成功时才会触发,可我反复试验发现不管成功与否它都会触发。怎样判断是否下载成功呢?急!!!

回复贴子:

回复人:mutant(异类)(2001-1-11 9:06:00) 得0分

procedure TfrmIE2.WebDocumentComplete(Sender: TObject; pDisp: IDispatch;

var URL: OleVariant);

看见了吧,是OnDocumentComplete事件触发的下载完毕,还会告诉你是那个URL被下载完毕了,非常好用哦.因为页面中如果有IFrame,那么每个IFrame会触发一个DocumentComplete事件.

那我们怎么判断是否全部下载完毕呢?嘿嘿,TWebBrowser控件不是有一个Busy属性的吗?

procedure TfrmIE2.WebDocumentComplete(Sender: TObject; pDisp: IDispatch;

var URL: OleVariant);

begin

if not(Web.Busy) then begin

ShowMessage(’下载完毕’);

end;

end;

对于每次连接(不论是鼠标点击还是用Navigate2方法连接),TWebBrowser的流程是这样的:

OnBeforeNavigate2 <--开始链接时会触发此事件

OnNavigateComplete2 <--成功的链接到此网页(以后才会有下面的事件)

OnDownloadBegin <--开始下载

OnDownloadComplete <--下载结束

OnDocumentComplete <--页面下载完毕

对于每个HTML页面,顺序都是如此.如果是Frame或IFrame的文件都会当成HTML页面处理.也就是说如果一个页面中有3个IFrame,那么总共会触发4次BeforeNavigate2事件.

对于每个连接且需要显示出来的二进制文件(如*.gif,*.bmp,*.jpg...)都会触发一个DownloadBegin和DownloadComplete事件.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有