gir*_*rly 0 javascript android android-webview
我有一个看起来像这样的html文件
<html>
<head>
This is a test
<script>
function testingConsole() {
console.log("Reached end of Body");
}
</script>
</head>
<body>
<script type="text/javascript">testingConsole();</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.chart);
webView = (WebView) findViewById(R.id.wvChart);
webView.loadUrl("file:///android_asset/Chart/chart.html");
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("javascript:testingConsole();");
}
Run Code Online (Sandbox Code Playgroud)
html文件正常加载,文本"This is a test"显示在我的WebView中.和脚本testingConsole(); 由于html文件正在调用它,因此应该自行执行.但是当我从我的代码中调用它时,我收到错误"Uncaught ReferenceError:testingConsole未定义为null:1"
该loadUrl(String)方法不同步执行; 在WebView没有其他线程上运行加载网页和分析,并在其中执行任何JavaScript.
您应该创建WebViewClient该覆盖的实现/子类,onPageFinished(WebView, String)并监听webview以完成"chart.html"的加载.然后你可以loadUrl用你的JavaScript 调用第二个,我打赌它会起作用.我没有测试过这个,所以如果有,请告诉我.
| 归档时间: |
|
| 查看次数: |
3920 次 |
| 最近记录: |