【发布时间】:2013-08-20 03:21:57
【问题描述】:
我正在获取一个 url 并尝试将其文本内容发送到 webview 中的 javascript 函数。
我从 java 代码中执行此操作:
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://volteck.net");
// Get the response
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response_str = client.execute(request, responseHandler);
response_str = response_str.replaceAll("\n", "\\");
// this is because js don't support multi-line strings
myWebView.loadUrl("javascript:myfunction('" + response_str + "')");
System.out.println("javascript:myfunction('" + response_str + "')");
这是 webview 中的代码:
function myfunction(val){
document.body.innerHTML = val.length;
}
到目前为止,我只是想获取文本长度。但是当我使用之前代码的 url 时,什么也没有发生。我从日志中得到这个:
08-19 23:55:03.141:I/dalvikvm-heap(1846):将堆(碎片情况)增加到 3.551MB,分配 262160 字节 08-19 23:55:03.351: D/dalvikvm(1846): GC_FOR_MALLOC 在 209 毫秒内释放了 0 个对象/0 个字节
但奇怪的是,如果我尝试获取 volteck.net/ip,它只包含一个 IP 号码,它工作得很好!
非常感谢 Java 新手。
【问题讨论】:
-
您是否尝试通过 system.out 打印出来来调用 js?
-
我在发布问题时不小心删除了在webview中调用js函数的行,现在已编辑,对此感到抱歉。
标签: java javascript android webview