新手问题 在一个有翻页的页面上,如何实现跳转到其他页面再返回时能回到上次的页码?

zyjisdog · 2018年05月08日 · 最后由 zyjisdog 回复于 2018年05月10日 · 1593 次阅读

我用kaminari实现了 ajax 翻页功能,每一页显示 10 个user的名字,每个名字指向他们的profile。我发现每次点击某个user的名字进入他的个人页面,再使用浏览器的返回按钮时,都会退回到user列表的第一页。请问有没有办法可以记住离开列表页面时的页码?

index.js.erb:

$('.paginator').html('<%= j(paginate @users, remote: true) %>');
$('#users').html('<%= j(render @users) %>');

index.html:

<div class="paginator">
  <%= paginate @users, remote: true %>
</div>
<ul class="users" id="users">
  <%= render @users %>
</ul>

试试监听前进/后退事件?

js 修改当前浏览器的 history?

这是你 url 没有修改,history 里面只有第一页。每次翻页的时候,你需要往 history 中加入一条。这个用 js 就能实现。

happyming9527 回复

谢谢指点!😃

zyjisdog 关闭了讨论 05月10日 14:14
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册