==>加载第N页==>点击列表==>列表详情页。
然后,当我从浏览器执行“上一个按钮”时,我到达了第 1 页,而不是第 N 页。
我刚刚意识到 ajax 分页有这个问题。
到目前为止,我只能想到一个解决方案,即:
- 单击列表后,打开一个新选项卡而不是使用原始选项卡。
至少用户不用费劲去找前N页。
还有其他解决办法吗?
再具体一点,
从浏览器点击上一个按钮后如何登陆第 N 页(使用 ajax 分页)?
最佳答案
您可以 modify the browser's history通过使用
history.pushState() 或 history.replaceState()
所以,当你加载页面 N 时,你运行它(根据 Mozilla 开发者的页面)
var stateObj = { foo: "bar"};//如果您的 URL 描述性不够,请在此处保存您的数据
history.pushState(stateObj, "pageTitle", "pathName");
如果您使用的是 stateObj,则需要监听“popstate”事件以检索数据并恢复适当的状态。
这是 HTML5 规范的一部分,因此它可能不适用于旧版浏览器。
关于javascript - history.back() 的 ajax 分页问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597864/