vue与ios交互返回页面异常,需要滑动才能正常得问题
问题描述:在ios内嵌入H5(使用vue-cli搭建得vue框架),在A页面滚动超过一屏后,进入B页面,然后使用this.$router.back(-1)方法返回,这时候A页面会出现白屏或者部分功能渲染不正常,需要点一下页面或者滑动一下页面才会正常。...
·
问题描述:在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条内容
所有评论(0)