解决iOS跳转页面被浏览器缓存不会自动刷新页面问题

本文介绍了一种解决iOS设备上微信支付失败的方法。当支付页面出现错误提示“当前页面的url未注册”时,可以通过在路由文件中添加判断逻辑并在支付页面进行自动刷新来解决。这种方法特别适用于微信服务号的开发。
摘要由CSDN通过智能技术生成

微信服务号开发时今日支付页面支付时iOS会出现当前链接还是上一个页面的链接导致微信支付失败,提示当前页面的url未注册,解决方案是判断如果是iOS的话进入该页面就自动刷新一遍。

路由文件index.js里:

router.beforeEach((to, from, next) => {
  // ...
  if (from.name != null || to.name != "toPay"){
    let u = navigator.userAgent;
    let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
    let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    localStorage.setItem("isiOS", true)

  }
  if (to.query.ticket){
    api.userIsLogin().then(res => {

      localStorage.setItem("userIsLogin", res)
      if (res == false) {
        api.getUsername(to.query.ticket).then(res => {
          console.log('getUsername', res)
          api.getMyInfo().then(res => {
            // alert("获取我的信息"+JSON.stringify(res))
            console.log("获取我的信息", res)
            next()

          })
        })
      } else {
        next()
      }
    })

  }else{
    console.log(to, from, location.href, querystring.parse())
    next()
  }
})

支付页里:

mounted () {

    if(location.search){
      location.href = location.href.replace(location.search,"")
    }else{
      if(localStorage.getItem("isiOS") == "true"){
        localStorage.removeItem("isiOS")
        window.location.reload();
      }
    }


  },

 

转载于:https://www.cnblogs.com/jongsuk0214/p/9364900.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值