微信内置的浏览器里添加了WeixinJSBridge对象,可以通过引对象将内容分享到朋友圈,所以以下代码只在微信内置浏览器中有效。
var shareToWeixinFriend = function(data, cb){
if (typeof WeixinJSBridge == 'undefined') {
return false
}
else {
WeixinJSBridge.invoke('shareTimeline', {
'img_url': data.imgurl || '', // 图片url地址
'link': data.url, // 文章地址,此内容分享到朋友圈后可以点击跳转到此地址
'desc': data.desc,
'title': data.title
}, function(d) {
// 返回res.err_msg取值,d还有一个属性是err_desc
// share_timeline:cancel 用户取消
// share_timeline:fail 发送失败
// share_timeline:confirm 发送成功
WeixinJSBridge.log(d.err_msg)
cb && cb(d.err_msg)
})
}
return false
}
另外在微信内置浏览器中可以通过weixin://链接直接查看某个微信号的资料,例如:
<a href="weixin://profile/gh_9261dce78e9f">挖段子冷笑话</a>其中 gh_9261dce78e9f 是微信号
微信不能分享内容到朋友圈,原因以及解决方法如下: (一)网络问题 检查一下手机上的网络问题,是否网络信号不好,网络不稳定或者网速过慢,导致了无法分享内容到朋友圈,可以尝试连接无线wifi,或者网络情况变好以后再尝试。 (二)微信内容敏感 检查一下分享的内容是否存在违法等内容,对相关分享的内容进行认真的核对和修改,直到符合相关的规范以后再分享。 (三)功能被限制 可能是微信账号存在一定的违规行为,导致了分享到朋友圈的功能被限制使用了,可以尝试联系微信在线客服,咨询具体的情况,步骤如下: 登录个人的微信,先点击”我“,再点击”设置“; 在”设置“里点击打开”关于微信“之后,点击”帮助和反馈“; 在”帮助和反馈“页面右下角处,点击”意见反馈“; 在打开的页面上选择”朋友圈“,点击”其它异常反馈“; 填写好具体的内容,点击”提交“,等待客服的回复即可。小程序默认不能分享朋友圈,开发者需主动设置“分享到朋友圈”。页面允许被分享到朋友圈,需满足两个条件:
首先,页面需设置允许“发送给朋友”。具体参考 Page.onShareAppMessage 接口文档
满足条件 1 后,页面需设置允许“分享到朋友圈”,同时可自定义标题、分享图等。具体参考 Page.onShareTimeline 接口文档
满足上述两个条件的页面,可被分享到朋友圈。
### 条件1:(在js中添加onShareAppMessage)
onShareAppMessage: function (ops) {
wx.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
})
}
### 条件2:(在js中添加onShareTimeline)
onShareTimeline: function () {
return {
title: '分享的标题',
query: {
// key: 'value' //要携带的参数
},
imageUrl: '' //分享图,默认小程序的logo
}
},
### 点击小程序右上方三个点分享朋友圈,效果如下: