导致微信JSSDK 自定义分享内容接口失效的一种原因

本文介绍了在微信开发者工具中调试自定义分享内容接口成功,但在真机测试时失效的问题。问题根源在于手机运行速度慢,导致分享按钮事件绑定在接口未执行完成时已经开始执行。解决方案是在页面加载时确保关键接口立即执行,并考虑页面加载状态对用户分享体验的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在微信开发者工具上调试分享接口成功,真机测试的时候却失败了。
后来发现是手机反应比较慢
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是在页面加载完毕执行的话。当页面为由加载完毕的时候用户点击分享也不会生效,需要根据情况设置加载态提示用户。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值