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?
Haben Sie diese vorherige Frage?
gelesenFalls Sie Ihr Ziel nicht erreichen können, lassen Sie es mich wissen.
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;");
verwendenUm Daten von der Webseite zu erhalten, versuchen Sie, sich auf diese Seite.
Wenn Sie mehr Hilfe benötigen, kontaktieren Sie mich!
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