美文网首页
点击返回到上一页面,定位到原来位置

点击返回到上一页面,定位到原来位置

作者: 小哼唧麻 | 来源:发表于2017-09-27 17:53 被阅读0次

测试给指出来一个bug,是页面回退到上一页面位置不固定。如果上次浏览的时候页面时置顶的,回退回来没有问题。但是页面在中间或下边位置的时候,页面位置就比较随机了。


image.png

这个页面,分了三个接口加载。首屏用node服务器渲染,第二个接口跟第三个接口放在js里用setTimeout(getData(),0)加载。这样处理可以保证整个页面的加载速度。但是访问下一页,再回退到当前页面的时候,页面没有定位到离开页面的位置。

打了个段点看了一下页面的加载过程,页面一进来scrollTop为0,等同步的js执行完,页面渲染完,整个页面会向上滚动一段距离。

所以页面不能定位到原来的位置,是浏览器想滚回原来的位置的时候,页面的高度发生了变化(这个时候异步加载的代码还没执行)。

解决办法:用sessionStorage记录异步加载的数据,如果是回退回来的,调用sessionStorage里数据,将异步访问改为同步代码,就能保证页面的高度在浏览器定位的时候跟之前是一样的了。

相关文章

网友评论

      本文标题:点击返回到上一页面,定位到原来位置

      本文链接:https://www.haomeiwen.com/subject/hwzyextx.html