在调用微信分享api的时候:html
let shareUrl = https://xxxx#/abc wx.onMenuShareTimeline({ title: '', link: shareUrl, imgUrl: '', success:function() { }, cancel:function() { } });
如是这样带有hash的分享后,打开分享后的shareUrl是https://xxxx#/?from=singlemes... 关于from=singlemessage这部分是微信加的。额外 现象是第二次打开就是正常的。
解决方法:
一、将hash分开:将hash先后分开,微信就不会将from=singlemessage拼接到#/abc以后api
shareUrl = shareUrl.split('#')[0] + '#' + '/abc'
获得的结果是:https://xxxx&from=singlemessa...,第一次打开仍是会进入到https://xxxx&from=singlemessa...,第二次打开才会进入到https://xxxx&from=singlemessa...微信
二、使用url重定向
在static文件夹下,新建html/redirect.html。
redirect.html 内容:app
<script> let url = location.href.split('?') let pars = url[1].split('&') let data = {} pars.forEach((n, i) => { let p = n.split('=') data[p[0]] = p[1] }) if (!!data.app3Redirect) { self.location = decodeURIComponent(data.app3Redirect) } </script>
而后:url
shareUrl = shareUrl.split('#')[0] + 'static/html/redirect.html?app3Redirect=' + encodeURIComponent(shareUrl);
这样就跳转完成code