導致微信JSSDK 自定義分享內容介面失效的一種原因
阿新 • • 發佈:2019-01-10
在微信開發者工具上除錯分享介面成功,真機測試的時候卻失敗了。
後來發現是手機反應比較慢
wx.config()
還未執行成功後面繫結分享按鈕事件的程式碼就開始執行了導致繫結失敗
因此在頁面載入時需要立即執行的介面必須寫在wx.ready()
中
修改後的程式碼
//從服務端獲取配置資訊
$.post('/getSignPackage',{location:window.location.href},function(data){
wx.config({
debug: false,
appId: data.appId,
timestamp: data.timestamp,
nonceStr: data.nonceStr,
signature: data.signature,
jsApiList: [
'onMenuShareTimeline' ,
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'onMenuShareQZone'
]
});
var data = {
title: 'title', // 分享標題
desc: 'desc', // 分享描述
link: 'link', // 分享連結,該連結域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
imgUrl: 'imgUrl' , // 分享圖示
success: function () {
// 使用者確認分享後執行的回撥函式
},
cancel: function () {
// 使用者取消分享後執行的回撥函式
}
};
wx.ready(function(){
wx.onMenuShareTimeline(data);
wx.onMenuShareAppMessage(data);
wx.onMenuShareQQ(data);
wx.onMenuShareWeibo(data);
wx.onMenuShareQZone(data);
});
});
另外,如果js是在頁面載入完畢執行的話。當頁面為由載入完畢的時候使用者點選分享也不會生效,需要根據情況設定載入態提示使用者。