vue history模式 ios微信分享坑
問題分析:因為蘋果分享會是調取簽名失敗是因為:蘋果在微信中瀏覽器機制和安卓不同,有IOS緩存問題,和IOS對單頁面的優化問題,通俗點說安卓進行頁面跳轉分享時會刷新當前的url,而蘋果不會,蘋果是通過歷史記錄進來的,不會刷新url所以會導致簽名失敗
解決方法
beforeRouteEnter(to, from, next) { // XXX: 修復iOS版微信HTML5 History兼容性問題 if (to.path !== location.pathname) { // 此處不可使用location.replace location.assign(to.fullPath) } else { next() } }
注意: 如果使用了location.assign()會加載新的文檔。這樣如果首頁使用了keep-alive就會失效!