Javascript 使用后退按钮和Ajax Dom操作保持滚动位置

Javascript 使用后退按钮和Ajax Dom操作保持滚动位置,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我正在用ajax加载结果,带有一个无限滚动条,但是,当您单击列表中的一个项目并离开页面,然后单击“上一步”按钮时,您就回到了列表的顶部 我不知道如何让用户回到他们离开的位置 查看我正在工作的站点: 向下滚动几次,然后单击一个属性,然后单击上一步,您将看到我的意思 我记不起结果的位置并加载它们,因为这会花费太长的时间,所以我真的需要浏览器在DOM返回页面时记住它,或者以某种方式缓存它 有解决办法吗 非常感谢当然有,这是小菜一碟。事实上,这是一块饼干:) 你不需要太多来解决这个问题 首先,在这里买

我正在用ajax加载结果,带有一个无限滚动条,但是,当您单击列表中的一个项目并离开页面,然后单击“上一步”按钮时,您就回到了列表的顶部

我不知道如何让用户回到他们离开的位置

查看我正在工作的站点:

向下滚动几次,然后单击一个属性,然后单击上一步,您将看到我的意思

我记不起结果的位置并加载它们,因为这会花费太长的时间,所以我真的需要浏览器在DOM返回页面时记住它,或者以某种方式缓存它

有解决办法吗


非常感谢

当然有,这是小菜一碟。事实上,这是一块饼干:)

你不需要太多来解决这个问题

首先,在这里买些饼干:

其次,您必须以某种方式对cookie中的数据进行编码。如果您有多个这样的页面,则必须以某种方式将它们分开,或者使用键值对并存储如下内容:

manchester=3522
无论何时进入页面,加载cookie,等待页面完全展开(使用AJAX或类似工具,您必须等待页面展开,
window.onload
不行)

如果没有cookie,请跳过此步骤:

  • 向下滚动页面至从cookie加载的偏移量:

接下来,每当滚动页面时,修改cookie。为了避免颠簸,您需要以轮询方式执行此操作。在大约500毫秒时使用
setInterval()
,检查用户是否更改了滚动位置。如果他这样做了,用新值保存cookie。

它在Firefox 26.0上对我有效