Ich verwende Android WebView, um einige Webseiten zu laden. Ich muss ein Stück Javascript-Code auf alle Seiten einfügen, bevor sie geladen werden.
Ich versuche, sie auf WebViewClient onPageStart Callback zu injizieren.
%Vor%HTML-Code:
%Vor%Ich habe erwartet, dass mein Js-Code vor HTML geladen wird. Aber manchmal wird der JS-Code nach HTML geladen.
Gibt es eine Möglichkeit, mein Problem zu lösen?
Was ist mit dem Laden Ihrer Seite über Javascript?
Erstellen Sie eine leere HTML-Seite in Ihren Assets, die Ihr Skript und diese kleine Funktion enthält (ich benutze hier jQuery, aber Sie können ein anderes Framework oder gar kein Framework verwenden).
%Vor%Dann auf Ihrer Android App:
%Vor%Hinweis: Ich habe nicht bemerkt, dass xxx.html auch in Ihren Assets sein könnte und nicht irgendwo auf einem Webserver, in diesem Fall wird die Ajax-Abfrage aus Sicherheitsgründen fehlschlagen, aber Sie können die Ajax-Anfrage vergessen, Sie lesen html Seite in String von Ihrer Android-App und übergeben Sie es als Argument an eine leicht modifizierte Javascript-Funktion.
Ich hatte das gleiche Problem und habe es gelöst. Ich verstecke WebView
vor dem Laden und zeige nach der geladenen Seite.
Sie können versuchen, Ihr Java-Skript innerhalb HTML-Seite dann verwenden Android Java Script-Funktionsaufruf könnte hilfreich sein
Ich würde eine Kombination aus Phonegap und einer Schnittstelle für JavaScript verwenden.
Fügen Sie in der Hauptdatei .java in OnCreate () Folgendes ein:
%Vor%Und dann, in der .js-Datei, schließen Sie das ein (Sie müssen Phonegap natürlich in derselben Datei importieren, um die onDeviceReady-Methode abzufangen):
%Vor%Dies würde Ihre Methode von JavaScript auslösen, wenn das Gerät bereit ist, im ersten Moment des Starts der Anwendung.
Sie können
webView.addJavascriptInterface("test string", "output");
verwenden
um das gewünschte Objekt zu injizieren, bevor die Webseite geladen wird.
Tags und Links javascript android webview