Speichern von Daten aus einem WebView

9

Ich muss Daten speichern, die ich in WebView zeige. Das habe ich erreicht, indem ich alle meine WebViewClient-Anfragen gespeichert und an den Backend-Service gesendet habe. Der Back-End-Dienst stellt später Anfragen für diese Dateien.

Das Problem ist, dass WebViewClient seinen eigenen Zyklus ausführt und Antworten nicht sichtbar sind, was mich dazu bringt, zwei Anfragen für jede Ressource zu machen.

Gibt es eine Möglichkeit, Daten direkt in WebViewClient abzurufen?

Hier ist ein Teil des aktuellen Codes, der funktioniert:

%Vor%

addUrlToDownloadQueue (url); sorgt dafür, dass alle URLs an den Dienst übergeben werden, die alle Quellen abrufen.

Gibt es eine Möglichkeit, Daten über WebViewClient zu erhalten, ohne sie an den Back-End-Dienst zu übergeben?

    
5er 05.05.2016, 08:02
quelle

4 Antworten

1

Haben Sie diese vorherige Frage?

gelesen

Falls Sie Ihr Ziel nicht erreichen können, lassen Sie es mich wissen.

    
Lorenzo Camaione 09.05.2016 13:35
quelle
1

Ich schreibe eine andere Antwort, weil diese Antwort zu lang ist, um in einen Kommentar zu passen.

Nun, das ist nicht gut, um dieser Frage zu folgen, wenn Sie die Webseite nicht kontrollieren. In der Tat, wie in Android-Entwicklerführer gesagt: "Achtung: Die Verwendung von addJavascriptInterface () erlaubt JavaScript, Ihre Android-Anwendung zu steuern. Dies kann eine sehr nützliche Funktion oder ein gefährliches Sicherheitsproblem sein. Wenn der HTML in der WebView nicht vertrauenswürdig ist (z. B. Teil oder der gesamte HTML-Code wird von einer unbekannten Person oder einem unbekannten Prozess bereitgestellt). Ein Angreifer kann dann HTML-Code einfügen, der Ihren clientseitigen Code und möglicherweise den vom Angreifer ausgewählten Code ausführt. "

Um Daten auf der Webseite zu erhalten, können Sie webView.loadUrl ("javascript: document.getElementById (" Beispiel "). value;");

verwenden

Um Daten von der Webseite zu erhalten, versuchen Sie, sich auf diese Seite.

Wenn Sie mehr Hilfe benötigen, kontaktieren Sie mich!

    
Lorenzo Camaione 09.05.2016 19:46
quelle
1

Sie können dies versuchen, kann dies Ihnen helfen.

%Vor%     
Devendra Singh 12.05.2016 11:04
quelle
1

Siehe mein Beispiel, um Daten vor dem Abschicken zu erhalten:
Ссылка

und halten Sie an, um Daten an das Back-End zu übergeben, geben Sie false in der Funktion onsubmit

zurück %Vor%     
HenryChuang 12.05.2016 11:26
quelle

Tags und Links