检测页面是否加载完成,可以通过在DocumentComplete中比对IID_IDispatch来实现。但是如果是提交操作,比如填完用户名/密码之后,单击登陆按钮,此时如何准确判断提交完成,登陆页面已加载完毕呢?我目前的测试情况:
1. 有些提交操作不会DocumentComplete,所以用上述检测提交并不准确;
2. 在OnProgressChange中检测,判断nProgress是否为-1。MSDN上说这种方法可以确定页面加载完成,但测试发现有时会有多次nProgress为-1的情况,并且GetBusy返回也是-1,即页面没有加载完成;
3. 用OnDownloadComplete检测,如果提交后的页面有多个frame,则也会调用多次。困惑中,请各位指点,谢谢!

解决方案 »

  1.   

    html 判断提交页面是否完成. 网页处理完后提供个响应标志. 
      

  2.   


    是我没说清楚,我的程序是基于CHtmlView的VC工程,想模拟人工实现自动提交操作,但现在判断提交是否完成这一块遇到了这个问题。
      

  3.   

    OnDocumentComplete碰到AJAX等,可能不会触发
    还是通过OnDownloadComplete
    或者设置一个定时器来判断吧
      

  4.   


    1.请问怎么通过OnDownloadComplete判断呢,检查OnDownLoadBegin的触发次数是否等于OnDownloadComplete的触发次数吗?
    2.我想知道OnProgressChange所显示的完成(即nProgress=-1时)表示的是整个页面的完成,还是页面中frame的完成?
      

  5.   

    重载DownloadComplete,OnDownloadComplete缺一个参数,无法判断是谁触发。
    判断方法参考http://support.microsoft.com/kb/180366