WebbrowserControl Logikproblem

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von TheBlackSnitter.

    WebbrowserControl Logikproblem

    Hay VB-P,

    ich versuche gerade eine Webseite aufzurufen und gleich danach den Quelltext zu ändern und es wieder in das
    Control zu laden. Doch ich überprüfe mit der Sub "WebBrowser_Normal_DocumentCompleted" ob das Dokument
    fertiggeladen hat. Wenn ich also den geänderten Quelltext wieder reinlade versucht er es wieder zu ändern und verursacht eine endlosschleife an Aktualisierungen.

    Weiss jemand wie ich aus der Schleife wieder rauskomm, gibt es eine bessere Möglichkeit als "WebBrowser_Normal_DocumentCompleted" ?

    Mein Kopf ist am rauchen ^^

    mfg TBS
    Ich hab heute meiner Katze beim spielen
    zugesehen, sie ist die ganze Zeit einem Ball nachgejagt und ich hab mir
    überlegt, das Tier ist echt mit sehr einfachen Dingen zu begeistern...
    Dann ist mir aufgefallen, dass ich 10 Minuten nur meine Katze
    angestarrt habe.
    Danke, aber das löst mein Problem nicht wirklich. Ich möchte ja nicht pausieren, sondern nur den quelltext ändern und danach wieder reinladen. Und das jedes mal wenn man einen Link anklickt. Ich hoffe das ist jetzt verständlicher ausgedrückt :]

    mfg TBS
    Ich hab heute meiner Katze beim spielen
    zugesehen, sie ist die ganze Zeit einem Ball nachgejagt und ich hab mir
    überlegt, das Tier ist echt mit sehr einfachen Dingen zu begeistern...
    Dann ist mir aufgefallen, dass ich 10 Minuten nur meine Katze
    angestarrt habe.
    Deklariere doch eine globale Boolsche Variable "geändert". Die fragst du vor der Änderung des Quelltextes ab, wenn true dann Exit Sub sonst ändern und Variable auf true setzen.

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Das Problem ist, dass immer wenn die Seite neu geladen wird diese Aktion ausgeführt wird. Also kommt das leider nicht in Frage. Das mit der Variable geht nicht, weil kein "DocumentCompleted" event ausgeführt wird wenn ich auf einen Link klicke, obwohl der DokumentText sich ändert. Mit einem Timer würde ich das allerdings ungern lösen.

    mfg TBS
    Ich hab heute meiner Katze beim spielen
    zugesehen, sie ist die ganze Zeit einem Ball nachgejagt und ich hab mir
    überlegt, das Tier ist echt mit sehr einfachen Dingen zu begeistern...
    Dann ist mir aufgefallen, dass ich 10 Minuten nur meine Katze
    angestarrt habe.
    Das größte Problem ist, dass deine Problembeschreibung recht wirr erscheint.
    Du fragtest, wie du aus der Endlosschleife herauskommst.
    0. Ausgangszustang Bool=False
    1. Deine Seite xy wird geladen
    2. "DocumentCompleted"-Event: Abfrage Bool=True?
    Ja: Der Quelltext wird nicht geändert, das Event verlassen
    Nein: Der Quelltext wird geändert und Bool auf True gesetzt
    3. Link anklicken Weiter bei 2.

    Sollte das nicht gehen, ist deine Beeschtreibung falsch oder unvollständig!
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Dieser Thread bewegt sich so langsam in richtung diesem hier, villeicht könnte man sie zusammen führen.

    [VB 2008] Webbrowser set URL ohne zu Navigieren

    Ich Zitiere mal daraus, dann müssten alle verständnissfragen geklährt sein.

    VB.NET-Quellcode

    1. Dim Konvertieren As Boolean = False
    2. Private Sub WebBrowser_Normal_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser_Normal.DocumentCompleted
    3. '//Quelltext konvertieren
    4. Dim QuellText As String = WebBrowser_Normal.DocumentText
    5. QuellText = DokumentKonvertieren.KonvertiereDokument(QuellText)
    6. WebBrowser_Konvertiert.DocumentText = QuellText
    7. '//-Quelltext konvertieren
    8. Do While WebBrowser_Konvertiert.ReadyState <> WebBrowserReadyState.Loaded
    9. Konvertieren = False
    10. Me.Text = Konvertieren.ToString
    11. Application.DoEvents()
    12. Loop
    13. Konvertieren = True
    14. Me.Text = Konvertieren.ToString
    15. End Sub
    16. Private Sub WebBrowser_Konvertiert_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser_Konvertiert.DocumentCompleted
    17. If Konvertieren = True Then
    18. WebBrowser_Normal.Url = New Uri("www.lustigeURL.de/" & WebBrowser_Konvertiert.DocumentText)
    19. Konvertieren = False
    20. Me.Text = WebBrowser_Normal.Url.ToString
    21. End If
    22. End Sub
    23. End Sub


    Nachdem ich in Browser2 einen linkt geklickt hab wird der Dokumenttext zwar geändert aber die Sub "WebBrowser_Konvertiert_DocumentCompleted" wird nicht ausgeführt.

    mfg TBS
    Ich hab heute meiner Katze beim spielen
    zugesehen, sie ist die ganze Zeit einem Ball nachgejagt und ich hab mir
    überlegt, das Tier ist echt mit sehr einfachen Dingen zu begeistern...
    Dann ist mir aufgefallen, dass ich 10 Minuten nur meine Katze
    angestarrt habe.