当前位置:首页 > 软件开发 > net
firefox

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

下一篇:Kylix预览
 ↓相关文章:
© 2006-2008 All Rights Reserved