分享

delphi 怎么判断Webbrowser页面下载完毕?

 quasiceo 2014-06-20

delphi 怎么判断Webbrowser页面下载完毕?

(2012-05-13 08:30:53)
标签:

it

分类: 软件_Software

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多