嗨,我对android中的java脚本很新?我的问题是我的文件没有加载到android资产中。
当我运行我的代码时,我得到了例外。
07-08 11:49:10.809: I/chromium(25627): [INFO:CONSOLE(1)] "Uncaught ReferenceError: myFunction is not defined", source: (1)
07-08 11:49:11.100: I/chromium(25627): [INFO:CONSOLE(78)] "Uncaught TypeError: Cannot call method 'getContext' of null", source: file:///android_asset/keyGasGraphBuilder.js (78)
但在我的代码中,我添加了资产中的所有文件。
并且我在加载
时在html页面中添加了我的code.js文件<script type="text/javascript" src="file:///android_asset/code.js"></script>
从我调用的代码
duvaltriangle.getSettings().setJavaScriptEnabled(true);
WebSettings setting =duvaltriangle.getSettings();
duvaltriangle.loadUrl("file:///android_asset/Dynamic Ratings - Duval DEMO.htm");
String name = "Duval 2b OLTC Type IIb";
duvaltriangle.loadUrl("javascript:myFunction(\""+name+"\")");
我的js文件:
请告诉我我错过的地方。我想我已经完成了所有程序。
function myFunction(name)
{
document.getElementById("demo").innerHTML = name;
}
答案 0 :(得分:1)
使用:
duvaltriangle.loadUrl("file:///android_asset/Dynamic Ratings - Duval DEMO.htm");
duvaltriangle.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
String name = "Duval 2b OLTC Type IIb";
duvaltriangle.loadUrl("javascript:myFunction(\""+name+"\")");
}
});
因为加载网址需要时间。因此,页面加载完成后必须加载脚本。