程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> TWebBrowser流程講解及如何判斷下載網頁成功

TWebBrowser流程講解及如何判斷下載網頁成功

編輯:Delphi
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事件
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved