【发布时间】:2013-06-20 06:03:57
【问题描述】:
我正在尝试使用将数据加载到 android webview 中
webview.loadDataWithBaseURL("", htmlcontent, "text/html", null, "");
一个方法从填充 html 数据的StringBuilder 返回 htmlContent。
我已启用 javascript 并将 webChromeClient 设置如下
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebChromeClient(new WebChromeClient());
webview.addJavascriptInterface(new JSClass(), "Android");
我的 javascript 界面:
class JSClass {
public void getHTMLContent(String html)
{
Log.i(Global.TAG, "HTMLContentReceived: "+html);
}
}
还有我在 html 页面中的 javascript:
<script type="text/javascript">
var ele = document.getElementsByClassName('test');
for(var i=0;i<ele.length;i++){
ele[i].onclick = function(){
window.Android.getHTMLContent(this.innerHTML);
}
}
</script>
但不知何故,javascript 没有返回任何值。 它适用于 loadData(url) ,其中 url 是 assets 文件夹中的一个简单网页
请帮忙 提前致谢
【问题讨论】:
-
已更正!!只需使用 webview.loadUrl("javascript://your javascript goes here") 在您的活动中添加 javascript;在 webview.getSettings().setJavaScriptEnabled(true) 之后;在上面的代码中,它工作顺利!希望有帮助
标签: javascript android android-webview