如何做到像京东手机端搜索点开商品页返回搜索结果页时还保持原来渲染的状态?

京东手机版的搜索结果是瀑布流加载的。
我一直往下滑动到十几页后点击一个商品然后然后点浏览器后退返回结果页还保持原来的状态,请问这种是怎么办到的?
它的瀑布流是用JSONP实现的。但是返回时并没有重新请求然后渲染页面。
我尝试看了一下它的代码。但是JS太多了。无从下手。

https://so.m.jd.com/ware/search.action?keyword=%E9%BC%A0%E6%A0%87%E5%9E%AB%E6%8A%A4%E8%85%95&searchFrom=home&sf=15&as=0
阅读 2.2k
2 个回答

就是 history.go(-1)

你可以在 sf 的问题列表拖到中间位置点一个跳转,控制台执行 history.go(-1) 一样会保留浏览位置。

你把京东跳转后的地址拷到新标签页面打开再进控制台执行,会回退到空白页。

自己花了几个小时仔细看了一下京东的JS代码。发现是在用户点击商品是把当前加载的数据缓存到sessionStorage里了
返回时再重新渲染列表。

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