WebView - Frage zu loadUrl und loadData bei htmlSyntaxfehlern

klausa2

klausa2

Erfahrenes Mitglied
36
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?
 

Ähnliche Themen

A
Antworten
1
Aufrufe
582
swa00
swa00
M
  • MikelKatzengreis
Antworten
5
Aufrufe
118
swa00
swa00
SpeedySix
Antworten
13
Aufrufe
1.398
jogimuc
J
Zurück
Oben Unten