Hallo,
folgendes Szenario existiert:
Ich habe eine HTML Seite, die , bevor man auf die zugreift, eine "Webseite wird geladen" Prä-HTML Seite öffnet und man unmittelbar in 2 Sekunden dann auf die gewollte Zielwebseite landet.
Ich habe mit Web.Request versucht, allerdings wird damit tatsächlich nur die "Wird geladen" Webseite dargestellt und ich bin daran gescheitert.
Die mäßig funktionierende Version ist zurzeit der olle Webbrowser, der die ZIEL-Adresse auch tatsächlich speichern lässt ,allerdings mit einem Nachteil:
Ich muss warten.
Wie kann ich dies programmiertechnisch effizient und ressourcenschonend umsetzen, dass die "Wird geladen Webseite" auch abgewartet wird?
Ich habe folgende Ansätze versucht:
Das funktioniert bsp. nicht, da es teilweise einfriert. Nutze ich Thread.Sleep, friert der ganze Thread auch ein.
Die beste Lösung ist zurzeit, ich baue eine MSGBOX ein und drücke auf die Msgbox selbst, bis die Zielwebseite auch richtig geladen ist und ich den HTML Code habe.
Dies soll durch eine Funktion allerdings erfüllt werden.
Gibt es da eine Möglichkeit, ohne unbedingt auf einen Thread umzuschweifen?
folgendes Szenario existiert:
Ich habe eine HTML Seite, die , bevor man auf die zugreift, eine "Webseite wird geladen" Prä-HTML Seite öffnet und man unmittelbar in 2 Sekunden dann auf die gewollte Zielwebseite landet.
Ich habe mit Web.Request versucht, allerdings wird damit tatsächlich nur die "Wird geladen" Webseite dargestellt und ich bin daran gescheitert.
Die mäßig funktionierende Version ist zurzeit der olle Webbrowser, der die ZIEL-Adresse auch tatsächlich speichern lässt ,allerdings mit einem Nachteil:
Ich muss warten.
Wie kann ich dies programmiertechnisch effizient und ressourcenschonend umsetzen, dass die "Wird geladen Webseite" auch abgewartet wird?
Ich habe folgende Ansätze versucht:
VB.NET-Quellcode
- Dim htmlcode as string = ""
- WebBrowser1.Navigate(url.tostring + "/index.html")
- While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
- Application.DoEvents()
- End While
- htmlcode = WebBrowser1.DocumentText.ToString()
- Do Until htmlcode.Contains("Willkommen auf der Webseite") = true
- Try
- htmlcode= WebBrowser1.DocumentText.ToString()
- Catch ex As Exception
- End Try
- Loop
Das funktioniert bsp. nicht, da es teilweise einfriert. Nutze ich Thread.Sleep, friert der ganze Thread auch ein.
Die beste Lösung ist zurzeit, ich baue eine MSGBOX ein und drücke auf die Msgbox selbst, bis die Zielwebseite auch richtig geladen ist und ich den HTML Code habe.
Dies soll durch eine Funktion allerdings erfüllt werden.
Gibt es da eine Möglichkeit, ohne unbedingt auf einen Thread umzuschweifen?