1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

WebView - Frage zu loadUrl und loadData bei htmlSyntaxfehlern

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von klausa2, 29.11.2010.

  1. klausa2, 29.11.2010 #1
    klausa2

    klausa2 Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    298
    Erhaltene Danke:
    20
    Registriert seit:
    08.07.2009
    Problem:

    Ich bekomme von einem Server ein HTML Fragment geliefert, das ist ein String, der den HTML Regeln nicht folgt, z.B. es fehlt das <html> tag oder gleich auch noch der ganze header und das <body> tag.
    Wenn ich versuche, den String mittels loadData in einen WebView zu laden, dann wird die Seite nicht angezeigt, es gibt eine Fehlermeldung.
    Da ich viele dieser Fragemente geliefert bekomme, ich keinen Einfluss auf die Quelle habe, und Analyse+Reparatur der Fragmente keine Option ist, muss ich damit leben und sie trotzdem irgendwie zur Anzeige im WebView bringen. Das geht, denn das iPhone kann das auch.

    Ich habe nun folgendes probiert. Den String in eine Datei mit Namen test.html kopiert und die ins asset Directory gestellt (nur zum Testen), und die dann mit loadUrl im WebView geladen. Surprise!. Das Fragment wird angezeigt, wie beim iPhone.

    Meine Frage: Was ist der Unterschied beim Laden mit loadData und mit loadUrl?
    Was mir zunächst einfällt sind die zusätzlichen Parameter content-type und encoding bei loadData, die man bei loadUrl nicht angibt (und die im Fragment auch nicht enthalten sind, ebensowenig wie ein doctype). Welches sind da die Default-Werte des WebViews bei loadUrl?
    Hat jemand eine Idee, welche Parameter beim Webview ich wie ändern könnte, um meine Chanceh mit loadData zu verbessern, also den WebView toleranter gegen auch grobe Syntaxfehler zu machen?
     

Diese Seite empfehlen