如何返回上一页定位到上次浏览的地方

我在微信里有一个商品列表页,往下滑动会ajax请求下一页的数据渲染出来,譬如说当我浏览到第五页的某个商品,点击进去再返回的时候,如何才能让页面直接定位到这个商品这里,因为这些都是ajax请求,所以不知道该如何下手

阅读 6.2k
3 个回答

点击是获取当前的offsettop 保存起来 返回页面设置offsettop为之前滚动的值

这个需求是老问题了,目前我用的感觉最好的就是这个插件
https://github.com/luchanan/d...
你可以试试。

  1. h5上拉刷新来实现分页,当有很多页的话,点击列表某一页去详细,然后从详情返回上一页,可能刷新上一页,位置不能保持,体验不好
  2. 列表使用a链接过去的,详情使用window.history.go(-1)返回,有些浏览器不刷新上一页(ios中safari,UC等),有些页面刷新上一页(ios中微信等)
  3. 有说使用单页的话,可以保持。但是之前用过angular1.X来实现单页,返回貌似也有这个问题(重新执行了列表js),最近在github看到有用vue实现了这个的效果:https://github.com/lzxb/vue-c...
  4. 有说列表用window.open,详情用window.history.go(-1),h5实践了,不可以

主要看你用什么技术
我用的vue单页并且使用keep-alive
在列表页我可以判断 如果是从详情返回的话 不需要加载第一页

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题