vue与ios交互返回页面异常,需要滑动才能正常得问题

问题描述:在ios内嵌入H5(使用vue-cli搭建得vue框架),在A页面滚动超过一屏后,进入B页面,然后使用this.$router.back(-1)方法返回,这时候A页面会出现白屏或者部分功能渲染不正常,需要点一下页面或者滑动一下页面才会正常。

问题解决:最开始以为是页面引入得某个插件得问题,在经过一系列排查之后,发现不是,最后想到有可能是因为页面滚动高度得问题,因为首屏得返回都是正常得。最后在mounted()里面加入方法      window.scrollTo(0, 0),发现还是无法解决,然后在网上查找原因,发现这个问题是通病,好多大神也碰到过。然后我就一个方法一个方法得的试,最后整合了大神们得方法,最终解决了问题,代码如下:

  created(){

    if ('scrollRestoration' in history) {

      history.scrollRestoration = 'manual'

    }

  },

原因分析:网上分析得原因基本都是说是ios浏览器兼容得问题,我觉得也是,因为在本地调试或者安卓上测试时,都没发现问题。

一般情况下来说,不管是安卓或者ios,只要是调兼容得问题,都会异常复杂并且磨人脾气,通常开发一天,调兼容一天。所以出现了兼容问题,就赶紧记录一下。希望之后得开发之路能够顺利一点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值