h5 history模式下ios微信出现location.href不变化,只记录首次进入时的url。
切换到hash模式下,安卓端(新版本)又现新的问题:授权成功跳转登陆页面居然不重新请求,还用历史缓存页面,导致没办法进行下一步操作
听说还有分享、模板消息之类url的问题,强烈吐槽一下。
附目前解决方案:
-
使用history模式,先避免安卓端跳转问题,以及可能存在的模板消息url问题。
-
history模式下,针对ios版本做一个判断,在进入新页面时强制刷新,以 vue-router 为例:
router.afterEach((to, from) => { if (!!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) && from && from.name !== null && to.name !== 'login') { setTimeout(() => { location.href = location.href }, 1) } })