Webbrowser set URL ohne zu Navigieren

  • VB.NET

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

    Webbrowser set URL ohne zu Navigieren

    Hallo,

    ich habe nun einen Lösungsansatz zu meinem anderen Thread aber habe trotzdem ein Problem.
    Gibt es eine Möglichkeit die URL des Browsers zu setzen ohne zu dieser zu navigieren ?

    Sprich "Webbrowser1.URL = new URI("http://www.kartoffelsalat.de/")"

    Nur dass es dann eben nicht weiternavigiert sondern auf der alten seite bleibt.

    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.
    wenn ich dich richtig verstehe , dann gibt es die möglichkeit wähle dein Webrowser aus und schau unten rechts in das eigenschafts fenster dort steht url und dort kannst du deine feste url angeben die dann aufgerufen wird , oder wie darf ich das verstehen ?

    LG
    Hay danke für die Antwort.

    Ich habe das Gefühl dass ich mich nicht richtig ausdrücken kann -.-
    Also:

    Ich habe einen Webbrowser. Ich möchte die URL des Webbrowsercontrols ändern aber der Browser soll auf der Seite
    bleiben auf der er sich befindet.
    Das hat folgenden Grund: Ich habe eine HTML Datei die geöffnet wird.

    In dieser Datei befinden sich Linkangaben wie "/lol.php"
    Wenn ich nun auf den link klicke versucht er in dem Ordner wo die Datei ist die "lol.php" zu öffnen.
    Wenn ich aber die URL ändern könnte ohne dass mein Dokument verschwindet sucht er auf dem server nach der "lol.php"

    Hoffe jetzt ich konnte klarheit schaffen ^^

    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.
    bitte was? Gibt im HTML Dokument einfach die richtige URL an und zwar nicht relativ zur HTML Datei sondern absolute

    also statt

    HTML-Quellcode

    1. <a href="/lol.php">Link</a>


    HTML-Quellcode

    1. <a href="http://localhost/Ordner/lol.php">Link</a>


    MIt der URL ändern ohne dass sich das Dokument ändert bzw. navigiert wird das nicht klappen, auch wenn sowas möglich wäre. DIe URL Property is nur eine Variable im grunde, wenn due geändert bekommst, heißt das noch lange nicht, das der interne Parser der HTML Seite bei einem Link auf diese Variable zurück greift, sondern eher auf eine Interne Variable die die URL enthält.
    Oder... hab es zwar noch nie ausprobiert, aber: Hat man denn zugriff auf den DocumentenText? Lesen, ja, aber ich meine schreiben. Wenn ja, kannst die Links doch einfach per replace() überschreiben.
    Wenn das nicht geht, dann sprech doch einfach das Script-Engine-Ding an und sag JavaScript, dass es alles überschreiben soll.
    Okay danke.
    Auf das Dokument habe ich zwar zugriff, aber das wäre echt umständlich .. Ich werde mal versuchen was
    da ginge ^^

    mfg TBS und vielen dank nochmal.
    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.
    Aber wie bereits angesprochen wurde, wenn du Inhaber der Seite bist, dann einfach direkt dort die Links ändern. Wenn die Links variabel sein sollen, dann kannst du ja nen GET-Parameter mitsenden oder den Referer-Header ändern und dann dementsprechend die URL's ausgeben lassen. Ansonsten müsste es ein Event geben, dass anspringt, wenn das Dokument fertig ist, noch bevor weitere Inhalte (zB Bilder) geladen werden.
    Ist ein bisschen lange her, seitdem ich das letzte mal mit wem WebBrowser zu tun hatte ^^'
    Okay:




    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



    Ich habe keine Ahnung warum aber WebBrowser_Konvertiert führt die aktion bei dokumentcompletet nicht durch, woran könnte das denn jetzt wieder liegen ?
    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.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „TheBlackSnitter“ ()

    Was mir gerade einfällt... Es geht vllt viel einfacher.
    Das WebBrowser Objekt hat einmal das Event "navigated" und einmal "navigating".
    Wenn du das zweite, also "navigating" nimmst, müsstest du in den args, die url zu der navigiert werden soll, finden und auch etwas um das navigieren abzubrechen. Somit kannst du folgendes machen: Wenn das Event ausgelöst wird, überprüfe die URL. ist sie falsch, dann brech ab und navigiere um, ist sie richtig, lass es navigieren.
    Wenn ich auf den Link klicke der danach diesen seltsamen Pfad ausgiebt wird keines der Events gestartet:

    "DocumentCompleted"
    "Navigating"
    "Navigated"

    Was seltsam ist, da er danach ja etwas anderes anzeigt. Das ist jetzt echt problematisch.
    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.
    Ich habs jetzt endlich mit einigen umwegen geschafft -.- Ich hab keine Ahnung aber es lag nicht an mir, VB.net hat mich irgendwie getrollt, manchmal hat die sub Documentcompleted funktioniert, manchmal nicht.

    Ich hab den Titel des Dokumentes geändert und überprüfe im DocumentCompledet Sub ob der Titel geändert wurde.

    Naja ziemlich umstänjdlich aber es funktioniert ^^

    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.