webview 个人小程序_小程序webview分享

webview中的h5页面做某些操作后需要修改当前的分享页面,但是,此时H5页面的链接没有改变。需要有一个机制通知小程序页面要修改分享参数了。

技术解决

根据小程序文档,支持webview中页面以postMessage的形式向小程序通信(仅在分享,返回等特殊操作时,才触发)

要点:

使用wx.miniProgram.postMessage向小程序通信,当用户转发时页面可以监听到消息

页面监听到的消息为历史列表,且不清除,需要自行处理

小程序页面设置了onShareAppMessage可以支持分享,默认分享为当前页面

用户点击转发后,会先触发webview的onMessage,再调用onShareAppMessage设置分享配置

h5和小程序约定的postMessage消息格式:

{

type:'消息类型',//setShareOption

...restData // 其他参数

}

复制代码

h5页面设置分享参数:

/**

* 设置weapp分享链接

* @param option

* @example setWeappShareOption({title:"分享标题",path:"分享链接",imageUrl:'分享图片可为空'})

*/

export function setWeappShareOption(option:{title:string,path:string,imageUrl:string}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序中的 webview 组件可以用来展示网页内容,但是它并不支持直接分享功能。要实现小程序分享功能,可以使用小程序的自定义转发按钮或者调用小程序分享 API。 1. 自定义转发按钮: 在小程序的页面中,可以添加一个自定义的转发按钮,点击该按钮时触发分享操作。示例代码如下: ```html <view> <!-- 页面内容 --> </view> <button open-type="share">分享</button> ``` 在上述示例中,我们添加了一个按钮,设置 `open-type` 属性为 "share",表示该按钮的功能是分享。 2. 调用分享 API: 小程序提供了一组分享 API,开发者可以通过调用这些 API 来实现分享功能。具体步骤如下: a. 在小程序页面的 js 文件中引入分享 API: ```javascript const app = getApp(); // 获取小程序实例 Page({ // 页面代码 }) ``` b. 在需要触发分享的地方调用分享 API: ```javascript onShareAppMessage: function() { return { title: '分享标题', path: '/pages/index/index', // 分享页面的路径 imageUrl: '/path/to/image', // 分享时显示的图片 success: function(res) { // 分享成功 }, fail: function(res) { // 分享失败 } } } ``` 在上述示例中,我们通过 `onShareAppMessage` 函数来定义分享的内容,包括标题、路径和图片等。当用户点击右上角的分享按钮时,会触发该函数并执行分享操作。 需要注意的是,分享 API 只能在小程序的页面中使用,而不能在 webview 组件中调用。 希望以上信息对你有所帮助!如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值