-
允许加载
jswebView.getSettings().setJavaScriptEnabled(true); -
Js类,注意事项//方法必须是public public class JsInterface { //必须要添加注释 @JavascriptInterface public void setValue(String value) { //注意:该方法在非主线程中调用 //throw Exception是捕获不到异常的 //注意数据类型 js和Java是有区别的 js的空是undefined } } -
给
WebView添加Js对象,给网页调用//给webView添加Js类 webView.addJavascriptInterface(new JsInterface(), "ObjName"); -
WebView调用网页Js方法//webView调用Js方法1,判断方法是否存在 webView.loadUrl("javascript:if(window.jsMethod){window.jsMethod("+value+")}"); //webView调用Js方法2,推荐 效率高有回调 webView.evaluateJavascript("window.jsMethod(" + value + ")", new ValueCallback<String>() { @Override public void onReceiveValue(String value) { //此处为 js 返回的结果 } }); -
chrome调试WebView//chrome调试 chrome打开 chrome://inspect/#devices(第一次需要翻墙) //webView打开日志 webView.setWebContentsDebuggingEnabled(true);