Android与WebView的JS交互

一 JS调用Java方法,一共分为三步:

第一步,把冰箱打开。。。

咳咳

第一步,允许WebView加载JS:

webView.getSettings().setJavaScriptEnabled(true)

第二步,编写JS接口类

其中,注意接口类的方法需要加注解:@JavaScriptInterface且方法必须是public的

第三步,给WebView添加JS接口类

webView.addJavaScriptInterface(obj,name)

 

二 Java调用JS方法

直接通过WebView的loadUrl()方法

webView.loadUrl("javascript:if(window.remote){window.remote(参数)}");

三 chrome调试WebView

1.打开允许调试的开关

webView.setWebContentsDebuggingEnabled(true);//API>=19

2.chrome运行:chrome://inspect

三:常见错误

1.在JS接口的回调方法中throw Exception ,APP并不会捕获到,而是webView捕获

2.webView端不进行对象存在的判断,所以在非android环境下,window上下文可能会没有本应该有的对象字段。

3.传递的参数类型不一致(对象和数组),所以建议统一传递String类型的值,可以是Json字符串

4.传递空的字符串时本地收到的是undefined字符串,所以web端在字符串值可能为空时要进行判空操作

posted on 2018-07-27 15:30  吃蛋挞  阅读(196)  评论(0编辑  收藏  举报