VB6:从浏览器控件获取 onreadystate 值 [英] VB6: get onreadystate value from browser control

查看:45
本文介绍了VB6:从浏览器控件获取 onreadystate 值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从浏览器控件获取 onreadystate 值并检测页面何时完成加载.不幸的是,事件的 .returnValue 被返回为空.

I'm trying to get the onreadystate value from the browser control do detect when the page has finished loading. Unfortunately, the event's .returnValue gets returned empty.

这是我的代码:

Dim WithEvents m_doc As HTMLDocument

Private Sub Form_Load()
    Set m_doc = WebBrowser1.Document
End Sub

Private Sub m_doc_onreadystatechange()
Dim m_event As IHTMLEventObj
    Set m_event = m_doc.parentWindow.event
    m_value = "'" & m_event.returnValue & "'"
    MsgBox "onreadystatechange: " & m_value
End Sub

对问题有什么想法吗?

推荐答案

如果你想使用 HTMLDocument 的事件试试

If you want to use the HTMLDocument's events try

m_doc.createDocumentFromUrl "http://www.microsoft.com", ""

否则,您可以使用 WebBrowser 控件的事件来检测文档何时完全加载或调用 Navigate 或 Navigate2 方法并在轮询 WebBrowser.ReadyState 时立即循环

Otherwise you can use the WebBrowser control's event to detect when a document is completely loaded or call the Navigate or Navigate2 method and immediately loop while polling the WebBrowser.ReadyState

WebBrowse1.Navigate2 "http://www.microsoft.com"
Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
    DoEvents
Loop

当然不要忘记添加错误处理程序.

Of course don't forget to add an error handler.

这篇关于VB6:从浏览器控件获取 onreadystate 值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆