问题描述: 从A页面进入B页面,在B页面配置JSSDK,分享失败,刷新B页面可以分享成功
原因: 微信IOS版:每次切换路由(从A到B),单页面应用程序(SPA)的url不会变,发起签名请求的url参数须是配置JSSDK的页面;微信Android:每次切换路由,SPA的的url是会变的,发起签名请求的url刚好是配置JSSDK的页面
解决方案:
beforeRouteEnter(to, from, next) {
// 修复iOS版微信HTML5 History兼容性问题 location.pathname是url
if (to.path !== location.pathname) {
//console.log("检测完成")
// 此处不可使用location.replace
location.assign(to.fullPath); //to.fullPath指的是路由
} else {
next()
}
},