关于小程序主动通知webview内嵌h5方案的实践
我们都知道小程序内嵌的webview是可以通过postMessage的方式给小程序发消息的,但是反过来则不行
但是有时候有这样的需求:需要小程序主动给h5发消息,而且h5要保持不刷新
通过js事件onhashchange可以解决这个问题
当前需求:在h5直播页面,发起支付,跳转到小程序原生页面,完成支付,回到h5页面,直播不中断,页面不刷新,但是刷新支付状态。
解决的大概思路:
1.从小程序支付页面回到webview页面时,带上支付状态参数,这时候当webview的页面onshow的时候,检查支付参数,拼接到h5的url后面。
2.h5内部监听onhashchange事件,触发就去location.href里取某个特定参数的值,至此,小程序主动向h5发消息成功。
以上可以解决特殊业务问题,但是有局限性,h5必须是hash路由
技术有限,偶做尝试,欢迎大佬指正~