目的:
我想要一个JSON字符串,并将其传递到Android WebVIEw中的JavaScript函数中.
我在做什么:
我需要从androID sqlite数据库中获取数据,将其转换为JsON,将其传递到浏览器,并使用图表显示数据.我已经完成了所有这些工作,除了我无法弄清楚如何将JsON传递给JavaScript函数/传递给浏览器.
所以这里我的HTML标头中有一个Js函数:
<script type="text/JavaScript"> function returnData(Json) { //Do something in here with the JsON String } </script>
然后在我的Java中,我有一个JavaScript接口,它将导致执行Js“ returnData”功能.
final class DemoJavaScriptInterface { DemoJavaScriptInterface() { } public voID clickOnAndroID() { mHandler.post(new Runnable() { public voID run() { Json = "[{ country: \\"USA\\", visits: 4252 },{ country: \\"China\\", visits: 1882 },{ country: \\"Japan\\", visits: 1809 }]"; mWebVIEw.loadUrl("JavaScript:returnData("+Json+")"); } }); }}
现在,如果我只想执行“ returnData”功能,就可以执行. (下图)
mWebVIEw.loadUrl("JavaScript:returnData()");
但是,如果我尝试将字符串推入函数中(如下所示),它将“失败”……不幸的是,我对Js没有太多的经验,所以我不知道为什么从不调用Js函数.
mWebVIEw.loadUrl("JavaScript:returnData("+Json+")");
我正在寻找将数据推入Java脚本函数的任何方法,或者在DOM中的某个地方我可以存储数据(我想),而Js函数可以从中获取数据.
任何帮助,将不胜感激,谢谢.
解决方法:
我需要在JsON字符串周围添加单引号.
mWebVIEw.loadUrl("JavaScript:returnData('"+Json+"')");
总结 以上是内存溢出为你收集整理的javascript-尝试将数据推送到WebView中的JS函数中全部内容,希望文章能够帮你解决javascript-尝试将数据推送到WebView中的JS函数中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)