完整的官方文档在此:javascript
https://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.htmlhtml
之前有些第三方开发的js库,确定是不要再用了。前端
|
wx.config({ debug: false, appId: '1111111111111',// 必填,公众号的惟一标识 timestamp: timestamp,// 必填,生成签名的时间戳 nonceStr: nonce,// 必填,生成签名的随机串 signature: signature,// 必填,签名, jsApiList: [ 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone' ]}); wx.error(function(res){ console.log('出现一个问题:'+res.errorMessage); }); wx.ready(function(){ console.log('wx准备就绪'); } var shareConfig = { title: title, // 分享标题 desc: descr, // 分享描述 link: curl, imgUrl: image, // 分享图标 type: 'link', // 分享类型,music、video或link,不填默认为link success: function () { console.log('onMenuShareAppMessage ok'); }, cancel: function () { console.log('onMenuShareAppMessage cancel'); } }; wx.onMenuShareAppMessage(shareConfig);
config, ready, onMenuShareAppMessage几个属性顺序设置,其实这是有问题的,特别是在手机端,执行比较慢的时候,极可能onMenuShareAppMessage已经设置了, wx.ready尚未被执行,这时设置就失败了,并且没有任何错误信息。正确的作法是把onMenuShareAppMessage调用放在ready方法里面:git
var shareConfig = { title: title, // 分享标题 desc: descr, // 分享描述 link: curl, imgUrl: image, // 分享图标 type: 'link', // 分享类型,music、video或link,不填默认为link success: function () { console.log('onMenuShareAppMessage ok'); }, cancel: function () { console.log('onMenuShareAppMessage cancel'); } }; wx.onMenuShareAppMessage(shareConfig);
iframe.onload = function(){ console.log("iframe load!"); if(browser.versions.weixin){ shareConfig(iframe.contentWindow.document.title ,iframe.contentWindow.document.title ,iframe.contentDocument.getElementById('share_img_url').innerHTML ); } };