我正在获取一个 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 已释放0 个对象 / 0 个字节在 209 毫秒内
但奇怪的是,如果我尝试获取 volteck.net/ip,它只包含一个 IP 号码,它工作得很好!
非常感谢 Java 新手。