项目背景:开发工具为HBuilderX,框架为uniapp,开发移动端的Web应用,在企业微信中使用(自建应用),Web开发的应用,不是小程序。
需求:页面中用到<web-view>
组件,加载其他系统的页面(有跨域),需要在父子页面之间相互通信。这里通信的东西其实就是获取定位,通过uniapp获取用户定位信息,传递给<web-view>
内的页面用于地图的展示和其他业务需求。获取定位也是遇到了一些问题,参考另一篇记录《uniapp企业微信应用中的定位问题》
<web-view :src="https://****"></web-view>
<web-view>
内部其实就是iframe,因此本质上也就是要实现iframe的(跨域)父子通信。
原始方案:URL传递
在uniapp中获取定位数据,通过URL参数的方式传递给<web-view>
的页面。
<web-view :src="https://****?&longitude=${longitude}&latitude=${latitude}"></web-view>
这个方法弊端很多,不得不抛弃。