VB.NET CF 3.5 WebBrowser DocumentCompleted & DocumentText

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von T.S..

    VB.NET CF 3.5 WebBrowser DocumentCompleted & DocumentText

    Hallo,

    ich schreibe gerade eine Anwendung welche auf einem Handheld Scanner laufen soll. Ähnlich wie die von DHL auf denen man Unterschreiben muss.
    Leider läuft auf den Geräten Windows CE mit .NET Compact Framework 3.5 .

    Ich habe bereits angefangen eine Anwendung zu schreiben welche eine maximierten WebBrowser enthält der sich auf den Server verbindet.
    Das funktioniert soweit auch ganz gut.
    Layer 8 Probleme fangen wir über JS ab, das glücklicherweise auch funktioniert.
    Das erlaubt uns aber leider nicht mehr wie ein alert.
    Die Handhelds haben die Funktion zu vibrieren welche per DLL angesteuert wird, auch die komplette Grundkonfiguration wird darüber gesetzt.


    Ich lasse also zu dem Alert einen HTML Kommentar ausgeben welcher nicht angezeigt wird aber im VB abgefangen wird und dann wird dort eben Code ausgeführt.
    Am PC funktioniert das soweit, ist ja auch das "große" .NET. Nun wieder zurück zur Compact Framework:
    Das Problem ist, dass DocumentText als Eigenschaft unter ja WriteOnly ist. Da gibt es soweit ich weiß nicht dran zu rütteln.

    Leider sind weder mir, meinen Kollegen noch google sinnvolle Lösungen bekannt.


    Kennt ihr eine Möglichkeit den HTML Code auszulesen?
    Ich hatte das bisher unter:

    VB.NET-Quellcode

    1. Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted

    mit

    VB.NET-Quellcode

    1. WebBrowser1.DocumentText.IndexOf("VBACTION('ALERT');") = -1 Then
    gelöst

    Ich wäre für Vorschlage offen.
    Danke

    Verschoben. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    Moin,

    willkommen im Forum!

    Lade mal die Seite manuell mit dem HttpWebRequest und setze den DocumentText vom WebBrowser auf den erhaltenen String. Dann kannst du mit diesem String arbeiten. Ich habe hier gerade kein CompactFramework, daher weiß ich nicht, ob das funktioniert.
    Mit freundlichen Grüßen,
    Thunderbolt
    Guten Morgen Thunderbolt,

    danke für deinen Tipp, scheint in der Theorie zu funktionieren.


    Beim debuggen bekomme ich leider die Meldung:
    ​WebExeption wurde nicht behandelt.
    Es wurden zu viele automatische Umleitungen versucht.



    PHP Datei ist aber nicht eine Umleitung enthalten.Am PC geht alles soweit.
    Ich hab mir auch das Tutorial zum Thema angeguckt aber leider kann ich das nicht
    so ganz anwenden weil ich mich ja nicht Authentifiziere


    VB.NET-Quellcode

    1. Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://10.228.100.52/bacon/ELO/mobile/")
    2. Dim response As System.Net.HttpWebResponse = request.GetResponse()
    3. Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
    4. Dim sourcecode As String = sr.ReadToEnd()
    5. MsgBox(sourcecode)
    6. WebBrowser1.DocumentText = sourcecode
    Hm. Ich kenne mich nicht wirklich mit dem CF aus. Daher kann ich nicht viel zum Debuggen helfen. Hast du eine Möglichkeit den Netzwerkverkehr mitzulesen? Auf dem PC würde das z. B. mit Wireshark gehen.
    Authentifizieren sollte auch über HTTP(S)-Requests zu machen sein. Nichts anderes macht ein Browser ja auch.

    T.S. schrieb:

    MsgBox
    Ist vermutlich nur zum Debuggen, weils schneller zu schreiben ist, aber die übliche Leier:
    Böses aus VB6/VB2003 - und die richtigen VB.NET-Alternativen
    Visual Studio - Empfohlene Einstellungen
    Mit freundlichen Grüßen,
    Thunderbolt
    Guten Morgen, wenn ich bei uns WireShark anmache bekomme ich wohl eine von den Netzwerkern auf die Nuss.
    Die MSGBOX ist tatsächlich nur zum debuggen da aber soweit kommt er ja Nichtmal. Ich werde das nochmal ein bisschen testen.
    Danke dir schon mal für die bisherige Hilfe.

    EDIT:

    Nach einem langen hin und her hab ich es jetzt hinbekommen; Es gab noch ein paar Probleme wegen Exeptions und dem Netzwerk aber jetzt funktioniert es. Mehr oder weniger:




    Hier sieht man den VB Request, JS geht, CSS aber scheinbar nichtDas hier ist direkt im IE6M. Hier geht natürlich alles. Bis auf ein paar macken im CSS ;)

    Jetzt muss also nurnoch das CSS gehen :)

    Edit2: Wenn ich direkt in der Eigenschaft vom Browser die URL festlege und meinen Request auskommentiere dann wird das CSS richtig angezeigt aber dann kann ich den Quellcode ja nicht abgreifen :/

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „T.S.“ ()