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

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


image.png

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,175评论 25 708
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 114,717评论 24 450
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 世事无常,天有不测,三百六十行,行行有人做,谁又能保证一辈子只做一份工作。 驴唇不对马嘴的逻辑,让我这个正经工薪阶...
    青青橙阅读 1,376评论 0 2
  • 1 未来社会应当是科研人员越来越多,在社会劳动力中所占的比例越来越大的社会。 这似乎就是创新型社会,但实质不一样。...
    满地森森阅读 487评论 1 2