如何在Android上执行JavaScript?
2022-08-31 22:07:16
我有使用ScriptEngineManager的代码,ScriptEngine类来使用Java执行JavaScript代码。但它在Java SE中工作正常,在Android中不起作用 - SDK显示缺少类的错误。是否可以在Android中执行JS代码?谢谢。
我有使用ScriptEngineManager的代码,ScriptEngine类来使用Java执行JavaScript代码。但它在Java SE中工作正常,在Android中不起作用 - SDK显示缺少类的错误。是否可以在Android中执行JS代码?谢谢。
AndroidJSCore是一个伟大的。这是我为评估JavaScript而编写的另一个小库:
https://github.com/evgenyneu/js-evaluator-for-android
jsEvaluator.evaluate("function hello(){ return 'Hello world!'; } hello();", new JsCallback() {
@Override
public void onResult(final String result) {
// get result here (optional)
}
});
它在幕后创建一个 WebView。适用于安卓版本3及更高版本。
您可以使用继承视图类的 Webview。创建 XML 标记并使用要在活动中使用的函数。但是要使用JavaScript,你可以制作一个包含JavaScript代码的HTML文件。这个例子可能会有所帮助。findViewById()
Webview browser=(Webview) findViewById(R.main.browser); //if you gave the id as browser
browser.getSettings().setJavaScriptEnabled(true); //Yes you have to do it
browser.loadUrl("file:///android_asset/JsPage.html"); //If you put the HTML file in asset folder of android
请记住,JS将在WebView上运行,而不是在本机环境中运行,因此您可能会在模拟器中遇到滞后或FPS速度慢。但是,在实际手机上使用时,代码可能会运行得很快,具体取决于手机的速度。