使用TWebBrowser连接一个网站,如果判断全部内容装载完毕?(100分)

  • 主题发起人 主题发起人 大花鸡
  • 开始时间 开始时间

大花鸡

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TWebBrowser的[blue]DocumentComplete[/blue]来判断,可是像 新浪这样的网站,在装载时居然触发了15次以上的[blue]DocumentComplete[/blue]事件,我怎么才能知道所有的装载全完成呢?哪次是最后的完成,头痛啊
 
OnProgressChange事件中
if Progress = ProgressMax then 下载完了
 
twebbrowser控件不是有一个busy属性的吗?
procedure tfrmie2.webdocumentcomplete(sender: tobject; pdisp: idispatch;
var url: olevariant);
begin
if not(web.busy) then begin
showmessage('下载完毕');
end;
end;
 
if WebBrowser.ReadyState = READYSTATE_COMPLETE then
showmessage('文档完成');
 
都不行,加载新浪那样的网站时,会DocumentComplete好多次,同样的道理 Progress = ProgressMax 也会好多次, not busy也是好多次。
我自己发现的一个现象是:在多次的DocumentComplete中,它的URL是不一样的,以后的URL可能是SINA的其它的广告之类 的地址,最后一次,也就是全部完成时,URL才是新浪的首页地址,应该在DocumentComplete之中加上一句
if URL = 你输入的地址(比如http://www.sina.com.cn/) then
ShowMessage('您要载入的网址已全部载入完成!');

 注意的地方是:当你输入的地址是“http://www.sina.com.cn”时,会被自动在最后加上一个‘/’
 
e- 方法正确。厉害。分都给你了 [:D]
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部