zoukankan      html  css  js  c++  java
  • 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事件 

  • 相关阅读:
    应用实例-最大子列和问题
    什么是算法
    什么是数据结构
    数据结构与算法-Python/C(目录)
    collections模块
    色彩缤纷的Python(改变字体颜色及样式)
    取数组中一段值的算法(转)
    开发者必备,超实用的PHP代码片段(转)
    php中数组自定义排序
    rand值出现负数的解决方案
  • 原文地址:https://www.cnblogs.com/heimirror/p/1820491.html
Copyright © 2011-2022 走看看