ВБ6:получить значение onreadystate из элемента управления браузера

StackOverflow https://stackoverflow.com/questions/2567075

Вопрос

Я пытаюсь получить значение onreadystate из элемента управления браузером, чтобы определить, когда страница завершила загрузку.к сожалению, .returnValue события возвращается пустым.в чем дело?

вот мой код - спасибо:

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, попробуйте

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

В противном случае вы можете использовать событие элемента управления WebBrowser, чтобы определить, когда документ полностью загружен, или вызвать метод Navigate или Navigate2 и немедленно выполнить цикл при опросе WebBrowser.ReadyState.

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

Конечно, не забудьте добавить обработчик ошибок.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top