因为项目原因,之前在微信小程序内部使用 webview 嵌套了 h5 页面,现在要添加一个新的功能,用户在哪个页面进行了分享,被分享的用户从链接进来就跳转到哪个分享页面。
先了解一下 web-view 组件的限制,web-view 是承载网页的容器,会自动铺满整个小程序页面。目前个人类型小程序不支持使用。
src 属性里放置 webview 要打开的网页链接,需要注意的是在管理后台配置要访问网页的域名,否则生产模式无法进行访问。开发版和体验版可以通过点击小程序右上角三个点打开调试来进行访问。
小程序页面转发分享需要自身定义了一个转发的相关事件 onShareAppMessage,这个事件在设置之后可以通过点击小程序右上角的三个点来触发,也可以通过为小程序页面添加 button 标签,设置 button 的属性 open-type=”share” 来触发。
webview 是内嵌的网页,内部页面无法直接调起小程序的转发。
这个需求实现的特殊之处在于要分享的页面为 webview 中的页面,而 webview 作为一个容器,它放在了小程序的一个页面中,我们所看到的页面跳转都是在这个容器中进行的,小程序无法直接获取容器的跳转路径。
所以为了实现 webview 中的页面分享,把 h5 页面地址作为参数传输