1、映射Java对象到JavaScript对象上
mWebView = (WebView) findViewById(R.id.wv_content);
mWebView.setVerticalScrollbarOverlay(true);
final WebSettings settings = mWebView.getSettings();
settings.setSupportZoom(true);
//WebView启用Javascript脚本执行
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
//映射Java对象到一个名为”js2java“的Javascript对象上
//JavaScript中可以通过"window.js2java"来调用Java对象的方法
mWebView.addJavascriptInterface(new JSInvokeClass(), "HTMLOUT");
/**网页Javascript调用接口**/
class JSInvokeClass {
public void back() {
activity.finish();
}
}
JS 代码
window.HTMLOUT.back();
2、JavaScript调用Java对象示例
mWebView.loadUrl("javascript:window.HTMLOUT.back();");
如果是想传参数
/**网页Javascript调用接口**/
class JSInvokeClass {
public void back() {
activity.finish();
}
public void showHtml(String html)
{
Log.e("Html:"+html);
}
}
java 执行JS
mWebView.loadUrl("javascript:window.HTMLOUT.showHtml(document.documentElement.innerHTML);");