各位高手: 我用webbrower编了一个输出程序,主要格式如下: Private Sub Form_Load()
WebBrowser1.Navigate "about:blank"
End Sub Private Sub Command2_Click() With WebBrowser1.Document .write "<iframe id=F1 src='about:blank'></iframe>"
.write "<iframe id=F2 src='about:blank'></iframe>" End With
'
WebBrowser1.Document.all("F2").document.write "xxxx"
End Sub 在 815/WIN2k 环境下程序运行正常,P4/WINXP 环境下会出现‘发生意外’的错误信息,经过测试我知道了原因是webbrowser控件还没有完全加载IFrame元素的Document对象(about:blank)。
(我在 WebBrowser1.Document.all("F1").document.write "xxxx" 处添加切换断点,在调试状态按下 F8 可以正确跳到下一行。字符串"xxxx"正确写到 F2 的文本区) 问题:我怎么样得知 WebBrowser1.Document.all("F1").document 对象是否处于可使用状态?(WebBrowser1 的 DocumentComplete 事件不会返回IFrame元素的值)
With WebBrowser1.Document .write "<iframe id=F1 src='about:blank'></iframe>"
.write "<iframe id=F2 src='about:blank'></iframe>" End With
'
While WebBrowser1.Busy
DoEvents
Wend
WebBrowser1.Document.All("F2").Document.write "xxxx"在我的机器上面没有出现这样的问题,我的机器是P4/Windows 2003。
MsgBox WebBrowser1.Document.body.innerhtml
看看另:刚写入时,不会加载任何东西,只有代码在那里,要刷新后才加载。