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


本文整理自网络,侵删。

 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事件.

相关阅读 >>

Delphi 取到系统临时文件夹路径

Delphi 网上获取北京时间firedac 下的 sqlite [3] - 获取数据库的基本信息

Delphi 文件名变小写的函数

Delphi服务程序(service)的调试方法

Delphi 外壳扩展创建快捷方式和获取快捷方式的目标对象

Delphi xe 关闭android应用

Delphi webbroker 上传文件

dll与exe之间的恩爱情仇

解放程序员!Delphi带来app开发革命

Delphi 主线程等待子线程的安全退出

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...