WebBrowser的Document_Complete 为什么会多次触发
FORM_LOAD
的代码是
Navigate "ablout:blank"
然后按钮打开一个网页
我在Document_Complete放了一个计数的变量
浏览完毕后
Document_Complete 一共触发了3次?为什么呢?
可以用别的更准确的事件吗?
[解决办法]
因为html页面包括了框架
[解决办法]
frame或者frameset标签导致
[解决办法]
以下是网上找来的,不知可不可以用:
至于如何解决最困扰开发人员的网页多个IFrame或Frame引发的_DocumentComplete事件被重复调用的问题的解决方案其实很简单,只要一行代码就可以了,如下例程:
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If (pDisp Is WebBrowser1.Object) Then
Debug.Print "本次触发是WebBrowser窗口所触发,而非里面的Frame"
End If
End Sub
怎么说呢,pDisp参数的起名应该说有点怪,因为正是它让开发人员摸不着头脑,如果名为:dWindow As Object,那大家可能一眼就看出来是表示哪个窗口触发的参数,哈哈,不能怪别人了,只能说我们不够细心。