在微信中分享到朋友圈或好友時瞳浦,分享出去的路由被破壞,打開分享的鏈接,路由中的“#”會被去掉并追加?fromTimeline之類的后綴參數(shù)苍匆,這就造成了分享出去的鏈接只能進入首頁漂佩,無法正常跳轉(zhuǎn)到其他路由祝钢。
例如
這是正常跳轉(zhuǎn)后的路徑:http://web.ehoo100.com/static/matrix/#/teamwork?postId=4079
這是從分享頁跳轉(zhuǎn)后的路徑:http://web.ehoo100.com/static/matrix/?from=groupmessage#/teamwork?postId=4079
非常明顯冷冗,如果根據(jù)問號的索引去獲取當(dāng)前postId,獲取不到锁蠕。并且在分享時也會顯示出文章的地址夷野。
具體解決代碼如下:
// 微信分享的數(shù)據(jù)
var shareData = {
"title": "《酒暖回憶思念瘦》", // 分享標(biāo)題
"desc": "聽梁靜茹唱著,離開舊愛荣倾,像坐慢車悯搔,揮別錯的才能和對的相擁。",
"link": (window.location.href).replace(window.location.search,''),//`http://web.ehoo100.com/static/matrix/#/teamwork?postId=${this.postId}`, // 分享鏈接
"imgUrl": "http://static.ehoo100.com/uftp/logo.png",// 分享圖標(biāo)
success: function (res) {
},
cancel: function (res) {
},
fail: function (res) {
}
};
wx.ready(function () {
wx.onMenuShareTimeline(shareData);
wx.onMenuShareAppMessage(shareData);
wx.onMenuShareQQ(shareData);
wx.onMenuShareWeibo(shareData);
});
注意:
由于微信會在hash #號前添加字段舌仍,就需要解決我們手動拼接這個分享鏈接妒貌。兩種方式1.
http://web.ehoo100.com/static/matrix/#/teamwork?postId=${this.postId}
2.(window.location.href).replace(window.location.search,'')
最佳實現(xiàn)方式:
第二種,如:
http://web.ehoo100.com/static/matrix/?name=123544&time=7456416516#/teamwork?postId=4079
(window.location.href).replace(window.location.search,'') ==>http://web.ehoo100.com/static/matrix/#/teamwork?postId=4079
http://web.ehoo100.com/static/matrix/#/teamwork?postId=4079
(window.location.href).replace(window.location.search,'') ==>http://web.ehoo100.com/static/matrix/#/teamwork?postId=4079
不管我們的hash #號前面被追加了什么字段铸豁,都不會影響灌曙,我們最終需要的鏈接