我正在尝试在Android中使用Javascript函数,但问题是我得到了method is not defined
。我试图使用另一个内置函数,如console.log()
,它确实有效。
所以我发现我的Android应用程序不知道脚本的位置,应从中调用该方法。所有脚本之前都加载了HTML(因为我可以在应用程序中看到我生成的内容)。这是示例代码(这不是我想要实现的,只是我需要解决的一个示例):
@JavascriptInterface
public void showDialog(){
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
webView.loadUrl("javascript: method()");
}
});
}
有没有办法指出方法的确切位置?我们这样说:
file:///android_asset/js/script.js/method
还有其他选择吗?
编辑,这是我使用JS接口的方式:
this.webView.loadDataWithBaseURL(
"file:///android_asset/",
this.HTML.html,
"text/html",
"UTF-8",
"");
this.exportModule= new ExportModule(activity.getBaseContext(), activity, this.webView);
this.webView.addJavascriptInterface(exportModule, "jsint");