Pregunta

Estoy tratando de obtener el valor onreadystate desde el control de este navegador detectar cuando la página tiene terminado de cargar. Por desgracia vuelve .returnValue del evento vacía. lo que está mal?

aquí está mi 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
¿Fue útil?

Solución

Si desea utilizar los eventos de la HTMLDocument tratan

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

De lo contrario se puede utilizar de eventos del control WebBrowser para detectar cuando está completamente cargado un documento o llamar al método Navigate o Navigate2 e inmediatamente bucle mientras sondea el WebBrowser.ReadyState

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

Por supuesto, no se olvide de añadir un controlador de errores.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top