微信js-sdk分享朋友圈,安卓设备不显示自定义的title和img

url是这个,可以访问http://67884808.ngrok.io/html/questionnaire_result.html
就这个页面,安卓分享到朋友圈看不到title和img

我使用的测试号,这个有关系么?是不是必须要认证过的公众号?

  1. 我采用js-sdk方式分享,但是安卓上始终看不到title和img,爱疯上是显示正常的

  2. 代码如下

$(function(){
    function resetWechatShare() {
        alert("wechat ready执行了")
        wx.ready(function () {       
            // alert(JSON.stringify(wechatShareObj));
            function initTimelineShare() {
                wx.onMenuShareTimeline({
                    // title: '这是一个测试',
                    title: "测试2号", // 分享标题
                    link: 'http://jrd-express.com/questionnaire/html/questionnaire.html',
                    imgUrl: 'http://jrd-express.com/questionnaire/image/title.jpg', // 分享图标
                    success: function () {
                        // 用户确认分享后执行的回调函数
                        // alert('分享成功');                        
                    },
                    cancel: function () {
                        // 用户取消分享后执行的回调函数
                    }
                });
            }

            function initFriendShare() {
                wx.onMenuShareAppMessage({
                    title: "发送给朋友", // 分享标题
                    desc: "描述", // 分享描述
                    link: "http://jrd-express.com/questionnaire/html/questionnaire.html", // 分享链接
                    imgUrl: 'http://jrd-express.com/questionnaire/image/title.jpg', // 分享图标
                    type: '', // 分享类型,music、video或link,不填默认为link
                    dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
                    success: function () {
                        // 用户确认分享后执行的回调函数
                        //campaignTools.pushGaEvent('spring2015', 'newShare', 'wechatFriend');
                    },
                    cancel: function () {
                        // 用户取消分享后执行的回调函数
                    }
                });
            }

            initTimelineShare();
            initFriendShare();
        });
    }

    var location2 = location.href.split('#')[0]
    $.ajax({
        url: "http://67884808.ngrok.io/getTicket?url=" + location2,
        type: "get",
        success: function(res) {
            console.log("res", res)
            wx.config({
                debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                appId: 'xxx', // 必填,公众号的唯一标识
                timestamp: res.timestamp, // 必填,生成签名的时间戳
                nonceStr: res.nonceStr, // 必填,生成签名的随机串
                signature: res.signature, // 必填,签名,见附录1
                jsApiList: [
                        'checkJsApi',
                        'onMenuShareTimeline',
                        'onMenuShareAppMessage',
                        'onMenuShareQQ',
                        'onMenuShareWeibo',
                        'hideMenuItems'
                    ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
            });

            // configWechat();
            resetWechatShare()


        },
        error: function(err) {
            alert(err)
        }
    })
})

clipboard.png
clipboard.png

clipboard.png

阅读 5.5k
2 个回答

link下的域名必须要填写公众号后台的js sdk的地方,4月底做的修改,debug却显示成功,害了一大批人。

我也出现了问题,在ios上分享是没有问题,但是在安卓手机上分享时候,描述变成了链接,图片也没有。后来发现,原因在于,配置微信之后,在wx.ready()里面配置分享,不然可能出现问题。我想可能是因为ios和安卓解析js的方式不一样。ios对于异步更加快。

config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题