gpt4 book ai didi

javascript - 尝试将数据推送到 WebView 中的 JS 函数

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:59 25 4
gpt4 key购买 nike

目标:我想获取一个 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 接口(interface),我将执行 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 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com