关于解决ios获取url异常造成获取微信数字签名失败的问题

由于ios微信保留首次进入的url,导致获取微信数字签名失败。

经过搜索资料,通过把首次进入的url保存在cookies里,每次判断如果是ios就从cookies取出url,如果是android就直接用window.location.href获取当前url。以为终于解决了这个问题。最后发现并不是所有ios都行,部分苹果机型比如6plus,仍然报签名失败,这部分机型需要跟安卓一样获取当前url。

经过多方面考量,最终找到如下方式。

在每次路由跳转时,拦截,判断如果是ios,就用location.assign方法跳转真实路径,解决掉ios只保留首次url的问题。

欢迎各位小伙伴,交流一下自己是怎么解决这个问题的。

其中process.env.BASE_URL为根路径,全局变量

const to_fullPath = process.env.BASE_URL + to.fullPath.replace('/', '')
const to_path = process.env.BASE_URL + to.path.replace('/', '')
if (isIos() === true && to_path !== global.location.pathname) {  // 判断是否是ios
  location.assign(to_fullPath)
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值