Aufrufen von JavaScript-Funktionen in WebView auf Android
Beim Einbinden von Webinhalten in eine Android-Anwendung mithilfe von WebView ist es oft notwendig, mit dem zugrunde liegenden zu interagieren JavaScript innerhalb der Webseite. Dies kann durch Aufrufen von JavaScript-Funktionen aus dem Android-Code erreicht werden.
Stellen Sie sich das folgende Szenario vor: Aufrufen einer JavaScript-Funktion aus der Android-App, die eine Nachricht über einen Toast anzeigt. Die aufzurufende JavaScript-Funktion ist wie folgt definiert:
function testEcho(message) { window.JSInterface.doEchoTest(message); }
In der Android-App können Sie JavaScript aktivieren und eine Klasse registrieren, die die bereitgestellten Java-Methoden enthält:
myWebView.getSettings().setJavaScriptEnabled(true); myWebView.addJavascriptInterface(myJSInterface, "JSInterface");
Häufige Fallstricke
Trotz der Befolgung des beschriebenen Ansatzes kann es zu einem Problem kommen, bei dem die JavaScript-Funktion nicht aufgerufen wird. Ein häufiges Versehen ist das Fehlen doppelter Anführungszeichen in den an die JavaScript-Funktion übergebenen Parametern. Stellen Sie sicher, dass der Parameter in Anführungszeichen gesetzt ist, wie unten dargestellt:
myWebView.loadUrl("javascript:testEcho('Hello World!')");
Externe JavaScript-Dateien
Das Vorhandensein externer JavaScript-Dateien, auf die im HTML verwiesen und diese verwendet werden möglicherweise die Ausführung der JavaScript-Funktion beeinträchtigen. Externe Skripte können den globalen Bereich ändern oder ihre eigenen Ereignishandler einführen, was die Verarbeitung von JavaScript-Befehlen durch WebView beeinträchtigen kann. Beachten Sie Folgendes:
Das obige ist der detaillierte Inhalt vonWie rufe ich JavaScript-Funktionen zuverlässig aus Androids WebView auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!