大伙在webView时候,有没有用javascript与java后台代码交互,一般做法是加addJavascriptInterface实现简单的交互,
当然你也可以使用PhoneGap框架,
最近被一个webview兼容问题烦了N久,在乐phone官网发贴无人解答,就在这样求解.
注以下代码在原生的Android系统可正常运行。但在 乐phone2.2 版本WebView不支持addJavascriptInterface
具体代码如下
在asset目录新建html common.html的代码如下 <html>
<title>资讯内容</title>
<body>
<head>
<script language="javascript">
        function initData() {
                document
                        .getElementById("pageTitle")
                        .innerHTML=customHelp.getTitleName();        
                        
                        document
                        .getElementById("pagecontext")
                        .innerHTML=customHelp.getContext();                                
        }
</script>
</head>
<body onLoad="initData()">
<strong><font color="red"><font size="3"><h3><center><span id="pageTitle">通用标题</span></center></h3></font></font></strong>
<p align="left"><span id="pagecontext">资讯内容</span></p>
</body>
</html>
        newsdetail.getSettings().setJavaScriptEnabled(true);        
                                newsdetail.getSettings().setDefaultTextEncodingName("gb2312");
                                newsdetail.addJavascriptInterface(new CustomHelp(),
                                                "customHelp");                        
                                newsdetail.loadUrl("file:///android_asset/html/common.html");                          
private final class CustomHelp {                TNewsHead news = new TNewsHead();                CustomHelp() {
                        // news = m_db.getNews(" key='" + key + "' ", null);
                }
                
                @SuppressWarnings("unused")
                public String getTitleName() {
                        return  "<p>测试标题<br/>";                }
                
                @SuppressWarnings("unused")
                public String getContext() {
                        return  "<p>88888888<br/>中文内容<p>"; //逻辑代码我简单换为测试字符串
                                        }
        }代码简单注释下,以上代码实现在android 后端处理后值替换common.html目录里"通用标题"与"资讯内容"
有没有什么解决方案,急。求救中

解决方案 »

  1.   

    没人知道吗?
    或者抛开乐phone兼容问题,大伙有用过addJavascriptInterface 吗?使用它该注意什么,
    例如必须为webView 加什么设置
    newsdetail.getSettings().setSaveFormData(false); // 不保存表单数据
    newsdetail.getSettings().setSavePassword(false); // 不保存密码
    newsdetail.getSettings().setBuiltInZoomControls(true);
    newsdetail.getSettings().setAppCacheEnabled(true);//应用不可以有缓存
    但以上加设置在乐phone上用过(不知还有什么漏掉的,可指出),
    加上以上设置仍然是调不到android 后端的java 代码.
      

  2.   

    我也是按照你的方法与网页交互的,没有测过乐phone,估计也有问题。会不会是乐phone的webview版本太低了?能不能自己搞个webview源码导入到项目里面,不使用系统原生的?
      

  3.   

    要分童鞋接分吧,吐槽一下,最近有空逛csdn,没权力多实践写代码