Pergunta

Estou tentando obter o valor ONREADESTATE do controle do navegador, detecte quando a página terminar de carregar. Infelizmente, o .returnValValue do evento retorna vazio. o que há de errado?

Aqui está o meu código - THX:

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
Foi útil?

Solução

Se você quiser usar os eventos do htmldocument, tente

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

Caso contrário, você poderá usar o evento do WebBrowser Control para detectar quando um documento está completamente carregado ou ligue para o método Navigate ou Navigate2 e loop imediatamente enquanto pesquisou o webbrowser.readyState

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

Claro, não se esqueça de adicionar um manipulador de erros.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top