大伙在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目录里"通用标题"与"资讯内容"
有没有什么解决方案,急。求救中
当然你也可以使用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目录里"通用标题"与"资讯内容"
有没有什么解决方案,急。求救中
解决方案 »
- android 使用notification activity间切换的问题
- 老鸟进来讨论下, 关于异常捕获的问题。
- 关于service的选择
- 上传流到服务器溢出问题
- Android 初学者几个小问题
- WebView点击某链接后其他链接失效
- 发送POST请求,被拒绝?
- 请教个android线程问题,Threadid=12:created from interp
- Failed to install ddf.apk on device 'emulator-5554!
- 自己写个相机app,注册到系统,让别的app拍照调用我的app
- 动态修改TextView 显示行数,无效果!
- 为什么SurfaceView卡住了
或者抛开乐phone兼容问题,大伙有用过addJavascriptInterface 吗?使用它该注意什么,
例如必须为webView 加什么设置
newsdetail.getSettings().setSaveFormData(false); // 不保存表单数据
newsdetail.getSettings().setSavePassword(false); // 不保存密码
newsdetail.getSettings().setBuiltInZoomControls(true);
newsdetail.getSettings().setAppCacheEnabled(true);//应用不可以有缓存
但以上加设置在乐phone上用过(不知还有什么漏掉的,可指出),
加上以上设置仍然是调不到android 后端的java 代码.