2016-08-09 12 views
5

Ich benutze J2V8 für die Ausführung von JavaScript-Code auf Android. Kann ich in meinem Java-Code auf JavaScript-Funktionen einer separaten JS-Datei zugreifen und diese ausführen? Wenn es möglich ist, wie kann ich das tun?Funktion ausführen von .js mit J2V8

Danke:

Bernat

Antwort

5

Wie bei vielen JavaScript-Umgebungen Sie einfach Last das Skript, das die anderen Funktionen, die Sie browser example ausführen möchten enthält. Alle Funktionen, die auf den globalen Bereich hinzugefügt werden, sind jetzt für Sie da:

V8 v8 = V8.createV8Runtime(); v8.executeScript(readFileAsString("script1")); // contains the function foo(); v8.executeScript(readFileAsString("script2")); // contains the function bar(x, y); v8.executeJSFunction("foo"); v8.executeJSFunction("bar", 7, 8);

+1

vielen Dank für Ihre Antwort. Kann ich das Skript irgendwie ohne WebView laden? (Ich versuche, WebView überhaupt zu vermeiden) – konbernu

+0

Ja, hier gibt es keine Webansicht. Ich habe gerade gezeigt, dass es mit J2V8 ähnlich wie ein Browser funktioniert. – irbull

+1

1. Wenn meine Funktion ein Objekt zurückgibt, kann ich es so erhalten? JSObject testObject = v8.executeJSFunction ("testfunction", alfa, beta); 2. Sobald diese Funktionen zum globalen Bereich hinzugefügt wurden, kann ich sie in meinem Skript verwenden? ich meine so: runtime.executeVoidScript ("var testObject = testfunktion (alfa, beta)"); – konbernu