安卓端:
安卓的可以往window对象上写方法提供给h5调用,可以建立一个变量专门放app写入的方法;
ios端:
ios的webview的特殊,他们是没有window这个概念的,也不能说没有window这个概念,而是需要往window的webkit 这个对象上写入方法,比较流行的他们使用的webview是webkit webview:
所以ios端是往 window.webkit.messageHandlers.约定的方法名.postMessage
安卓端接收参数时,不能正确接收json对象型的,所以需要将对象转为字符串传过去,而ios端是可以直接接收对象的,所以又需要判断终端处理,或者两边都以json字符串形式传。
app端调用h5端的方式:
其实不管ios还是安卓,都是用javascript:XXX的形式调用的,所以h5端保证将方法放在全局,app端就能正常取到方法了。