Webbrowser Dokument Titel

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von noskillget.

    Webbrowser Dokument Titel

    Guten Tag,

    ich hab ein kleines Problem und zwar hab ich das Gefühl das sich mein Webbrowser Titel nicht ändert!
    Beim ersten mal ( also beim starten des Programmes ) läuft alles einwandfrei, aber ab dem zweiten
    Durchgang des Timers gibt es mir IMMER den alten Webbrowser Titel zurück!

    Hier ist mein Code:

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Timer1.Start()
    3. End Sub
    4. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    5. If Timer1.Interval = 20000 Then
    6. timer1.interval = 5000
    7. End If
    8. If WebBrowser1.DocumentTitle = "false" Or WebBrowser1.DocumentTitle = "true" Then
    9. Timer1.Stop()
    10. title()
    11. Else
    12. Timer1.Stop()
    13. Timer1.Interval = 5000
    14. Timer1.Start()
    15. WebBrowser1.Navigate("http://************.de")
    16. End If
    17. End Sub
    18. Private Sub title()
    19. If WebBrowser1.DocumentTitle = "false" Then
    20. WebBrowser1.Navigate("http://www.google.de")
    21. Timer1.Stop()
    22. Timer1.Interval = 5000
    23. Timer1.Start()
    24. End If
    25. If WebBrowser1.DocumentTitle = "true" Then
    26. WebBrowser1.Navigate("http://************.de")
    27. Timer2.Start()
    28. End If
    29. End Sub
    30. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    31. If WebBrowser1.DocumentTitle = "true" Or "false" Then ' Damit überprüf ich ob die Seite sich geändert hat..
    32. Else
    33. Timer2.Stop()
    34. CatchMsg()
    35. End If
    36. End Sub
    37. Private Sub CatchMsg()
    38. publics.message = WebBrowser1.DocumentTitle
    39. WebBrowser1.Navigate("http://www.google.de")
    40. Timer1.Interval = 20000
    41. Timer1.Start()
    42. Form2.Show()
    43. End Sub


    Hoffe mir kann jemand helfen.

    MfG
    noskillget
    Webseiten können einen Titel haben, - das ist das was in dem Feld Webbrowser1.DocumentTitle steht sobald die Seite fertig geladen wurde.

    Zum Beispiel hat die Startseite von VB-Paradise den Titel: Startseite - Visual-Basic-Forum VB-Paradise.de

    Insofern bezweifle ich stark, dass der Titel Deiner Webseite jemals "True" oder "False" sein wird ;)
    Naja ich sags mal so, ich hab mir mit PHP ein kleines Script geschrieben welches
    den Titel je nach Auslesen verschiedener Daten anpasst.

    In PHP benutze ich das hier: echo '<title>true</title>'.
    Somit wird der Tabtitel zu true.

    Ich kenn mich mit VB noch nicht so gut aus, deswegen kann es natürlich sein
    das es ein anderer titel ist.

    Wie könnte ich dann mit VB diesen Titel auslesen ?

    Hoffe du hast mich nun verstanden.

    noskillget schrieb:

    Naja ich sags mal so, ich hab mir mit PHP ein kleines Script geschrieben welches den Titel je nach Auslesen verschiedener Daten anpasst.

    Dann nehme ich meine Zweifel von oben zurück ;)

    Dennoch die Frage: was möchtest Du eigentlich mit Deinem Code funktional erreichen ? Das ganze Gemurkse mit den Timern sieht so aus ( Du siehst ich bin vorsichtig geworden) als würdest Du das saubere Abfragen des DocumentCompleted Events umgehen wollen. Nach dem Motto: in 20 Sekunden muss das vermaledeite Ding doch jede Seite fertig geladen haben ...
    Also ich bekomms nicht hin mit VB direkt aus einer MySQL Datenbank zu lesen, deswegen hab ich überlegt das ganze mit
    Webbrowsern zu machen :)

    Klar, besonders klug ist das nicht, aber ich habs einfach nicht hinbekommen und dieses MySQL Plugin
    find ich VB nach der Installation des Plugins auch nicht.

    Es wäre trotzdem gut wenn mir jemand das ganz genau erklären könnte oder zumindest dieses
    Problem lösen könnte.

    Ach und nein.
    Das mit den 20 Sekunden hat was anderes auf sich:

    Form2 wird nach 15 Sekunden nach dem Öffnen der Form geschlossen, und
    damit ich nicht mit Form1.Timer1.Start arbeiten muss, hab ich mir gedacht, ich setz
    den Timer auf 20 Sekunden so hab ich die Standard 5 Sekunden wieder.

    MfG
    noskillget

    noskillget schrieb:

    Also ich bekomms nicht hin mit VB direkt aus einer MySQL Datenbank zu lesen

    Meistens ist der Grund dass der WebServer direkte externe Zugriffe nicht erlaubt, sonst sollte das wirklich sehr simpel sein.

    Für diesen Zweck hat Dodo seine Library MySqlLib 3 in den Showroom gestellt: schon einmal damit versucht ?

    Greift über ein PHP-Script auf die mySQL Library des WebServer zu ...

    Mit dem WebBrowser ist das halt eine sehr unschöne Möglichkeit ...
    WebBrowser-Control hat ein DocumentTitleChanged-Event.
    Beispiel:

    VB.NET-Quellcode

    1. Private Sub WebBrowser1_DocumentTitleChanged(sender As Object, e As System.EventArgs) Handles WebBrowser1.DocumentTitleChanged
    2. MessageBox.Show(DirectCast(sender, WebBrowser).DocumentTitle, "DocumentTitle", MessageBoxButtons.OK, MessageBoxIcon.Information)
    3. End Sub

    noskillget schrieb:

    VB.NET-Quellcode

    1. If WebBrowser1.DocumentTitle = "true" Or "false" Then ' Damit überprüf ich ob die Seite sich geändert hat..
    Wat. Option Strict Off ist machmal schon was heftiges.
    Von meinem iPhone gesendet
    @Kangaroo:

    Nein. Wenn ich Imports mysql blabla was weis ich mach findet er diesen Import nicht!
    Also nichts mit Verbindung konnte nicht hergestellt werden oder so, ich kann doch nichtmal
    die Datei importieren.

    @nikeee13:

    Ich könnte das selbe auch mit "if webbrowser1.isbusy = true" machen aber so überprüfe ich auch, ob
    die seite sich überhaupt geändert hat.

    MfG
    noskillget