前期在微信 H5 端与 iOS 和 Android 进行数据交互,借助的是封装的**WebViewJavascriptBridge**函数与 iOS 进行数据交互,然而与 Android 的数据交互还是一依据将交互的事件函数挂载到 window 上,以便于 Android 端 app 获取事件函数。虽然这种做法可以实现最终的效果,因为 H5 活动页面在 iOS 端 app、Android 端 app 以及微信端 H5 三端使用,与此同时还要依据不同参数或者不同 ua 信息处理不同的事件,相对来说代码逻辑比较复杂、冗余,容易出错,为此就寻找一个可以多端公用的方法。
本次封装的 JS 与 APP 进行数据交互的方法解决了iOS、Android、WeChat三端共用的问题,代码逻辑结构清晰明了、便于后续逻辑的调整和优化。
通过 navigator.userAgent获取设备信息,在依据不同设备的不同参数来区分当前设备所处的环境是 Android、iOS 还是 WeChat。