-
允许加载
js
webView.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); 复制代码
WebView与JS的交互,以及注意事项
最新推荐文章于 2023-01-10 17:52:51 发布