解决微信二次分享bug

微信分享网页后,再次点击微信分享的内部会自动在网址后拼接&from=来源,致使二次分享的图案文案失效,解决办法:api

function getQueryString(name) {//根据字段看网址是否拼接&字符串
          var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
          var r = window.location.search.substr(1).match(reg);
          if (r != null)
              return unescape(r[2]);
          return null;
        }
        var from = getQueryString('from');
        var appinstall = getQueryString('appinstall');
        var sec = getQueryString('sec');
        var timekey = getQueryString('timekey');
      
        if(from || appinstall || sec || timekey){//假如拼接上了
            window.location.href =重置网址
        }

在须要分享的网页里写入微信jssdk代码安全

wx.config({
    debug: true, // 开启调试模式,调用的全部api的返回值会在客户端alert出来,若要查看传入的参数,能够在pc端打开,参数信息会经过log打出,仅在pc端时才会打印。打印标识config:
    appId: '', // 必填,公众号的惟一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名,见附录1
    jsApiList: [] // 必填,须要使用的JS接口列表,全部JS接口列表见附录2
});

wx.ready(function(){
    // config信息验证后会执行ready方法,全部接口调用都必须在config接口得到结果以后,config是一个客户端的异步操做,因此若是须要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则能够直接调用,不须要放在ready函数中。
        wx.onMenuShareTimeline({
            title: '', // 分享标题
            link: '', // 分享连接,该连接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: '', // 分享图标
            success: function () {
            // 用户确认分享后执行的回调函数
            }
        });
});

wx.error(function(res){
    // config信息验证失败会执行error函数,如签名过时致使验证失败,具体错误信息能够打开config的debug模式查看,也能够在返回的res参数中查看,对于SPA能够在这里更新签名。
});

微信开发文档微信

相关文章
相关标签/搜索