作者gene07 (-.-)
看板AndroidDev
标题[问题] android function取得js的return value
时间Tue Dec 22 17:21:17 2015
是这样的...
in js :
function get_value(){
return "test value";
}
android class:
把javascript fuction所return的东西直接拿来使用
请问,是否有办法如我上面所说的直接拿来用..
因为看到网路上的教学都是写:
webview.loadUrl("javascript:ge_value()");
可是我get_value()出来的东西没有要放在webview~~
我想要在android class的function自己做处理。。
请问 有什麽办法可以解决这个问题?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.250.82.82
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1450776080.A.ABD.html
1F:→ ssccg: 自己加一个Javascript Interface去收return value 12/22 18:40
2F:→ ssccg: 或是虽然不太可能,如果只要支援4.4以上那就用 12/22 18:48
3F:→ ssccg: evaluateJavascript,就直接有callback参数可以用 12/22 18:48
4F:→ ssccg: 但是不管用哪个Java->JS这段都是非同步的,要同步还要再写 12/22 18:50
public final class WebViewClientImpl extends WebViewClient
{
public void onPageFinished(WebView view, String url)
{
view.loadUrl("javascript:window.android.Result(get_value())");
}
}
public static class JsCallBack
{
@JavascriptInterface
public void Result(final String x)
{
Result = x;
}
}
我这样写可以抓到js return到的value
可以看到log一直出现下面的讯息:
Uncaught ReferenceError: get_value is not defined
※ 编辑: gene07 (60.250.82.82), 12/22/2015 18:59:15