webView.evaluateJavascript 返回null

来源:互联网 发布:mac开机出现问号文件夹 编辑:程序博客网 时间:2024/06/06 21:26

在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了
希望大家留意这一点


1 0