以前是H5活动页面,没有和原生app对接。最近刚做一个混合开发的小项目,对原生APP和H5相互调用做一个总结1:原生要调用JS方法,首先前端需要在JS页面定义一个全局方法,这个方法应该暴露在window对象下,比如我定义了一个getUserInfo方法window["getUserInfo"]=()=>{//业务逻辑};那么app在加载H5页面的时候就可以拿到这个方法2:JS调用Android的方法,Android会暴露一个全局对象android,里面定义了js需要调用的方法,比如getDevId,然后在代码中js是这样写的然后就可以调用android.getDevId(param);//但是这个param不能是object或者null,否则Android获取不到数据3:JS调用iOS方法,iOS使用wkwebview,然后js调用代码如下window.webkit.messageHandlers.getUserInfo.postMessage(param);//这个getUserInfo是iOS端暴露的方法名//如果不需要传param,那就传null,你必须传递它,否则您将不会收到值window.webkit。messageHandlers.getUserInfo.postMessage(null);//iOS调用js同上面Android方法
