webview和js交互
js调webview
// js调webview
// window.android_product_detail.openBulletin();
// window.android_product_detail.modifyTitle('产品要素');
mWebView.addJavascriptInterface(new JSWebView(), "android_product_detail");
private class JSWebView {
public void openBulletin() {
startActivity(new Intent(ProductDetailActivity.this, BulletinActivity.class));
LogUtils.d("js调用webview打开公告页");
}
public void modifyTitle(String title) {
header_tv_title.setText(title);
LogUtils.d("js调用webview变更标题, 新标题名是: " + title);
}
}
webview调js
// webview调用js函数并传参
btn_use_js.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String str = "来自webview的参数1";
// 无参: webview.loadUrl("javascript:wave()");
webview.loadUrl("javascript:invokedByJava('" + str + "','来自webview的参数2')");
}
});
<script type="text/javascript">
function invokedByJava(parama, paramb) {
document.getElementById("content").innerHTML = "webview调用js函数并返回的参数是"+parama+paramb;
}
</script>