高分求教 vb webbrowser 如何确定有多层frame框架的页面已经加载完成呢?

hrbzhj 2011-05-30 12:26:02
如题,
在实际使用碰到有三层框架的网页,
现在想判断其网页都已经加载完成,
我应该怎么写代码呢?
我试着用
If URL = webbrowser1.Document.URL Then
用这个方法可以判断一部分,但对于多层frame的网页还是不行
有的时候加载的页面的url不一样,就无法判断了。
...全文
296 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tombow 2011-10-20
  • 打赏
  • 举报
回复
上面的大哥都答了,居然不散分。
hrbzhj 2011-05-31
  • 打赏
  • 举报
回复
不懂,不过确实是我自己找出的结果呢。
无·法 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hrbzhj 的回复:]

这个问题解决了,还是代码的问题了。
是我的代码没写.value这个属性造成的。
谢谢大家。
结贴了。
[/Quote]你就不能当做散分贴嘛,自己还可以得50分呢。。。





论坛签名======================================================================

[color=#FF0000]如何给分和结贴?

http://community.csdn.net/Help/HelpCenter.htm#结帖

如何给自己安装一双火眼金睛?
http://blog.csdn.net/sysdzw/archive/2011/04/07/6306619.aspx
hrbzhj 2011-05-31
  • 打赏
  • 举报
回复
这个问题解决了,还是代码的问题了。
是我的代码没写.value这个属性造成的。
谢谢大家。
结贴了。
hrbzhj 2011-05-31
  • 打赏
  • 举报
回复
wbsbrowser1.Document.All("j_companyid")

这段提示尚未实现是什么意思呢?
hrbzhj 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ndsc213456789 的回复:]
引用 3 楼 ndsc213456789 的回复:
在DocumentComplete事件加上这条去就可以了

Private Sub webbrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
if pDisp Is webbrowser1.object then '所有网页都加载完

end if
End……
[/Quote]
如何写代码呢?

wbsbrowser1.Document.All("j_companyid")

有这么个元素,我如何判断是否是nothing呢?
ndsc213456789 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ndsc213456789 的回复:]
在DocumentComplete事件加上这条去就可以了

Private Sub webbrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
if pDisp Is webbrowser1.object then '所有网页都加载完

end if
End Sub
[/Quote]以上方法一般有用,但如果iframe框架是内容是用javascript自动生成的话,那主框架永远也不会得到DocumentComplete事件。如果是这种情况的话,可以用另一种方法,就是直接获得新页面的一个元素(用on error resume next 忽略错误),如果这个元素不是NOTHING 那就说明这个页面加载完了。
ndsc213456789 2011-05-31
  • 打赏
  • 举报
回复
在DocumentComplete事件加上这条去就可以了

Private Sub webbrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
if pDisp Is webbrowser1.object then '所有网页都加载完

end if
End Sub
无·法 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 hrbzhj 的回复:]
如题,
在实际使用碰到有三层框架的网页,
现在想判断其网页都已经加载完成,
我应该怎么写代码呢?
我试着用
If URL = webbrowser1.Document.URL Then
用这个方法可以判断一部分,但对于多层frame的网页还是不行
有的时候加载的页面的url不一样,就无法判断了。
[/Quote]我也是用的和你一样的方法。
hrbzhj 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sysdzw 的回复:]
引用楼主 hrbzhj 的回复:
如题,
在实际使用碰到有三层框架的网页,
现在想判断其网页都已经加载完成,
我应该怎么写代码呢?
我试着用
If URL = webbrowser1.Document.URL Then
用这个方法可以判断一部分,但对于多层frame的网页还是不行
有的时候加载的页面的url不一样,就无法判断了。
我也是用的和你一样的方法。
[/Quote]
出现的两个url值不相等,但确实是加载完成了啊?
我的目的是这样的:
网页是三层框架的,上,左,右
左侧是功能菜单树,在左侧点一个超链接,然后在右侧显示页面
我现在要让系统自动在右侧的页面中输入内容,然后点右侧页面的提交,
之后右侧页面又变成另一个,现在需要判断这个新的页面是否加载完成,
我的目的就在此,前面的都可以做到了,就是最后这个判断不行。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧