在調用微信分享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