VB6: get onreadystate value from browser control
-
24-09-2019 - |
Question
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 returns empty. what's wrong?
here's my code - 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
Solution
If you want to use the HTMLDocument's events try
m_doc.createDocumentFromUrl "http://www.microsoft.com", ""
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.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow