在WebBrowser控件中如何判断,网页已下载完成(100分)

  • 主题发起人 主题发起人 fox007
  • 开始时间 开始时间
F

fox007

Unregistered / Unconfirmed
GUEST, unregistred user!
在WebBrowser控件中如何判断,网页已下载完成!
 
可以用onDocumentCompletes事件来判断。
 
我是说整个网页下载完成;其中包括:有贞的,asp,dhtml等;
 
同意蚊子,另外可再加上看wb.document是否为nil的判断
 
呵呵,借用景冰的话,第一次在这个论坛上被人苟同..
onDocumentCompletes事件在一个有frame的网页上会被调用几次(看几个frame)
可以用OnBeforeNavigate2跟OnDocumentComplete一起配合使用,
首先Declare 一个变量 FirstpDisp
在浏览URL前。把FirstpDisp置为nil.然后浏览url
第一次调用OnBeforeNavidate是最早的Frame,它会传给一个pDisp: IDispatch给事件。
你把这个变量保存到FirstpDisp里。
这个最早的Frame的onDocumentComplete事件会最后发生,这时其它Frame已经下载完了。
你只要在OnDocumentComplete事件里判断一下,传给事件的参数pDisp: IDispatch 跟
FirstpDisp是不是相等就可以知道整个带Frame的网页下载完没.
 
但我遇到有的网站,当程序已显示完成时,其网页数据并未完成!
 
这个方法是MSDN上说的,对于大部分网页应该是可行的。
比如带Frame的,有cgi的,asp的等等。
但是如果一个网页有jave applet,这个applet又要从服务器读数据,就无能为力了。

你遇到的网站,你试试用IE浏览,是不是也显示完成了。而数据还没完成。
 
如果一个网页有好多图片,就经常出现浏览器告诉你完成,但那些图片
明明还没有下载完的。
 
有更好的办法通知我。谢谢!
 
蚊子,你能不能给出一个详细的代码?
 
if not webbrowser1.busy then
begin
你想干什么? ;
那就干什么吧 ;
end;
 
后退
顶部