微信 H5页面自定义分享link不起作用
最近在做这么一个功能:
H5页面在微信内打开并通过设置微信自定义分享来分享出指定的标题、图片、link
但是却遇到了问题,分享指定的link没起作用,正常通过链接进入H5首页,然后一直操作至流程最后,此时分享流程最后的页面,预期是希望分享首页链接,而不是当前页面的链接
按照微信开放文档上
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: appId, // 必填,公众号的唯一标识
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature,// 必填,签名
jsApiList: jsApiList// 必填,需要使用的JS接口列表
});
wx.ready(function () { //需在用户可能点击分享按钮前就先调用
wx.updateAppMessageShareData({
title:title, // 分享标题
desc: desc, // 分享描述
link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl, // 分享图标
success: function () {
// 设置成功
alert(link)
}
})
});
在ios手机上分享,指定的link未生效。打开分享出去的链接,跳转的是分享的当前页,而不是指定的url页面
alert(link) // 弹出的是我指定的link
在微信开发者工具上测试,打印出配置的自定义分享link也没错,但是打开分享的链接跳转的不是首页而是分享的当前页
后续做了如下修改:
link=link + ‘?t=’ + timestamp // 给指定link拼接时间戳
至此ios手机微信分享h5页面,打开分享链接成功跳转至首页
由于我的手机是ios,我以为到此,微信分享h5功能已经完成,但是在同事的安卓手机上,分享出的title,img以及link均不是自定义的内容,又做了以下修改
将 updateAppMessageShareData =》 onMenuShareAppMessage
微信开放文档上 推荐使用新的分享接口updateAppMessageShareData
,而onMenuShareAppMessage
标记即将废弃
,经过测试,还是旧接口onMenuShareAppMessage
在安卓机上起作用
即将代码改为:
wx.onMenuShareAppMessage({
title:title, // 分享标题
desc: desc, // 分享描述
link: link + '?t=' + timestamp, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl, // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户点击了分享后执行的回调函数
}
});
安卓微信分享好了,ios也没有影响