-
允许加载
js
webView.getSettings().setJavaScriptEnabled(true); 复制代码
-
Js
类,注意事项//方法必须是publicpublic class JsInterface {//必须要添加注释@JavascriptInterfacepublic 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>() {@Overridepublic void onReceiveValue(String value) {//此处为 js 返回的结果}}); 复制代码
-
chrome
调试WebView//chrome调试 chrome打开 chrome://inspect/#devices(第一次需要翻墙) //webView打开日志 webView.setWebContentsDebuggingEnabled(true); 复制代码