小程序内嵌webview,如何做友好的分享

小程序webview的限制

相信开发小程序的同学萌都知道,小程序的发布需要审核,这相对于web前端来说灵活性差了不少。加上项目代码体积的限制,我们有时候会在小程序里内嵌webview,这样就解决了上面讲的两个问题。
但是,由于小程序设定了存在webview的页面,webview组件层级一定是最顶层的,也就是无法使用原生小程序提供的其他组件。例如Button。
Button是具有多种open-type的,有时候我们需要做一些分享,那么内嵌webview的页面该怎么做呢?

利用小程序内嵌webview暴露的wx.miniProgram

通过wx.miniProgram我们可以拿到小程序的一些api,像navigateTo和redirectTo跳转的api。
在业务里,在一些需要分享的操作的时候,我们可以通过navigateTo跳转到一个原生的页面,这个页面里我们就可以用合理的设计,让用户在这个页面里点击按钮进行分享,分享的path指定成内嵌webview的页面,从而达到分享的效果。

用户是否点击分享按钮,如何通知给webivew的H5页面

由于小程序在去年就去掉了分享成功与否的回调,我们不能得知用户是否真的分享给好友。只能退一步“用户点击了分享按钮就认为是分享成功”。
但是由于我们是内嵌webview,我们知道webview可以通过postMessage进行通知原生小程序页面,但是没有原生小程序通知webview的途径。

所谓办法总比困难多,这里先不赘述了。

你可能感兴趣的:(小程序)