现如今,可能出于多种原因如:IOS上架审核、规避敏感、开发进度。便于更新等原因吧,各种APP中多会应用部分 H5 页面,所以H5与原生APP的交互作为前端来说还是需要掌握的,经我的走过多种坑后,有如下总结,不足之处,多多指教!
目前使用的项目为前后台不分离,java后台、jsp页面、绑定数据多用el表达式,也会有jq操作,如下总结基于当前项目以及与自己的APP开发人员共同的调试,后续可能会更新的操作方式!
IOS 交互
前台 H5 传递数据给 IOS:
1、定义一个对象:var toIosObj={
needParam1:'111111'
needParam2:'22222'
type:'nowEventType' // 此type作为Ios判断依据
}
2、传递:window.webkit.messageHandlers.jsToOcWithPrams.postMessage(toIosObj);
解释:应我们ios开发人员需要,统一使用如上方法传递,toIosObj 是其需要的参数对象,type 为其判断依据分发给不同函数使用
Android 交互
前台 H5 传递数据给 Android:
1、与 IOS 不同的是 Android 接受的不是一个对象,所以要分次传递
var needData1 = '111111',needData2 = '222222';
2、传递:ww.sayHello(needData1 );
ww.sayHello(needData2 );
解释:sayHello 是自定义的函数名,根据不同需求单独定义,Android开发人员不需要和 ios 那样去判断 type
最后补充一下,既然是交互,那肯定是点击事件才会触发的哦~~~