在android 中,java 与Javascript 交互的时候经常会出一些小问题,耽误时间;
今天让我浪费了1个小时,搞了一个问题:
function getDeviceID() {
var index = 900;
return index + 1;
}
webview.evaluateJavascript("javascript:getDeviceID()", new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
Log.d("zzp", "--s--=" + s);
}
});
如果直接用上面的代码进行编辑,返回的s==null;
会报异常 Uncaught ReferenceError: <pre name="code" class="html">getDeviceID
is not defined为什么会报这个异常呢,主要是html页面还没有加载完,就加载这个方法,这样是找不到这个方法的;
如果放到<pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'宋体';font-size:10.5pt;"><span style="background-color:#344134;">onPageFinished() 里面,就顺利通过了,</span>
而且s 返回值也不是null了
希望大家留意这一点