收藏
回答

webview内嵌的h5,能否像客户端一样使用js bridge实现通信?

业务需求:

公司业务要求使用微信小程序内嵌vue开发的h5页面,h5页面使用了hash模式。

小程序A中内嵌h5页面,用户在h5页面中点击按钮跳转到小程序A的某个页面,在这个页面中去拉起了另一个小程序B。

小程序B在回到小程序A的时候,会有返回值,小程序A需要将这个返回值返回到h5页面。

由于h5页面内部有路由跳转,部分数据使用了vuex存储,这导致h5页面不能刷新

试验过的方法:

1.将小程序B的返回结果拼接在h5的链接上,webview的src使用拼接参数后的链接,h5通过$route.query的方式获取参数,结果是获取不到,webview没有任何变化

2.想到h5的链接是hash模式,带#号,在#号前拼接了时间戳https://xxxx.xx/time=123/#/xxx?data=1,能够获取到data,但webview会刷新,导致vuex中的数据被重置

3.尝试编写一个类似客户端jssdk的js文件,失败

4.使用接口进行轮询,成功

疑问:

方法1在h5页面为什么获取不到参数?

方法2为何会触发webview的刷新?

能否编写一个自定义的jssdk或者event bus来实现这个交互?


一个微信小程序开发小白,请各位大佬指点

回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容