vue history模式 ios微信分享坑

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就会失效!

上一篇:ionic单页面应用中微信分享的问题总结


下一篇:vue history模式 ios微信分享 踩过的坑