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

39次阅读

共计 627 个字符,预计需要花费 2 分钟才能阅读完成。

小程序 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 的途径。

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

正文完
 0