2016-08-09 12 views
5

Tôi đang sử dụng J2V8 để thực thi mã JavaScript trên Android. Trong mã Java của tôi, tôi có thể truy cập và thực thi các hàm JavaScript của một tệp .js riêng biệt không? Nếu có thể, làm thế nào tôi có thể làm điều đó?thực hiện chức năng từ .js với J2V8

Cảm ơn bạn:

Bernat

Trả lời

5

Giống như với nhiều môi trường JavaScript, bạn chỉ đơn giản là tải kịch bản có chứa các chức năng khác mà bạn muốn thực hiện browser example. Bất kỳ chức năng nào được thêm vào phạm vi toàn cầu, hiện có sẵn cho bạn:

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

cảm ơn câu trả lời của bạn. tôi có thể tải kịch bản bằng cách nào đó mà không cần sử dụng WebView không? (Tôi đang cố gắng tránh sử dụng WebView) – konbernu

+0

Có, hoàn toàn không có webview ở đây. Tôi chỉ cho thấy rằng với J2V8 nó tương tự như cách một trình duyệt hoạt động. – irbull

+1

1. Nếu hàm của tôi trả về một đối tượng, tôi có thể lấy nó như thế này không? JSObject testObject = v8.executeJSFunction ("testfunction", alfa, beta); 2. một khi các chức năng này được thêm vào phạm vi toàn cầu, tôi có thể sử dụng chúng trong tập lệnh của mình không? tôi có nghĩa là như thế này: runtime.executeVoidScript ("var testObject = testfunction (alfa, beta)"); – konbernu

Các vấn đề liên quan