delphi TWebBrowser 详细解释
2020-02-17 04:12
691 查看
procedure TfrmIE2.WebDocumentComplete(Sender: TObject; pDisp: IDispatch;var URL: OleVariant);
begin
if not(Web.Busy) then begin
ShowMessage('下载完毕');
end;
end;
OnBeforeNavigate2 <--开始链接时会触发此事件
OnNavigateComplete2 <--成功的链接到此网页(以后才会有下面的事件)
OnDownloadBegin <--开始下载
OnDownloadComplete <--下载结束
OnDocumentComplete <--页面下载完毕
对于每个HTML页面,顺序都是如此.如果是Frame或IFrame的文件都会当成HTML页面处理.也就是说如果一个页面中有3个IFrame,那么总共会触发4次BeforeNavigate2事件.
看见了吧,是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事件
转载于:https://www.cnblogs.com/heimirror/archive/2010/09/07/1820491.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 禁止 Delphi2010 检测新版本
- delphi TDbGrid 右键 P 4000 opupMenu 菜单只在有数据的地方弹出
- (转载)delphi文件流
- (转载)delphi实例TDBGrid用右键菜单复制行粘贴行
- (转载)delphi 把图片存入数据库
- (转载)Delphi StringGrid常用属性和常用操作
- (转载)EhLib 在 Delphi 7 下的安装方法
- (转载)Delphi TStringList的用法
- Microsoft Agent技术在Delphi中的应用
- delphi 7.0生成的AgentObjects_TLB.pas出错导至Ms Agent不能发声
- Delphi XLgrid 动态创建下拉框列
- Delphi XE10.3.1 使用心得-2019-12-08
- Delphi10 Android程序 对话框(dialogmessage, showmessage)等的汉化
- TCP中间件_Delphi_client
- DELPHI编模拟鼠标,键盘操作,比键盘鼠标录制软件更强
- glassfish 部署 Delphi for PHP 程序 use_unit 的问题
- delphi安装 Tclientsocket, Tserversocket控件
- Delphi调用分布存储过程
- Delphi7对XML的支持分析
- delphi学习中.