小程序主动向内嵌h5发消息

3,147 阅读1分钟

关于小程序主动通知webview内嵌h5方案的实践 我们都知道小程序内嵌的webview是可以通过postMessage的方式给小程序发消息的,但是反过来则不行

但是有时候有这样的需求:需要小程序主动给h5发消息,而且h5要保持不刷新

通过js事件onhashchange可以解决这个问题

当前需求:在h5直播页面,发起支付,跳转到小程序原生页面,完成支付,回到h5页面,直播不中断,页面不刷新,但是刷新支付状态。

解决的大概思路:

1.从小程序支付页面回到webview页面时,带上支付状态参数,这时候当webview的页面onshow的时候,检查支付参数,拼接到h5的url后面。

2.h5内部监听onhashchange事件,触发就去location.href里取某个特定参数的值,至此,小程序主动向h5发消息成功。

以上可以解决特殊业务问题,但是有局限性,h5必须是hash路由

技术有限,偶做尝试,欢迎大佬指正~