0

我正在构建一个文章列表,当访问者点击一篇文章时,我的网站在 ajax 的帮助下加载到完整文章中,并使用文章 url 生成 pushState 到 example article.php?id=55 所以当访问者刷新或访问他们将登陆“文章项目”页面而不是列表页面的 url。

但是现在我的问题是,当访问者在更改 url 时刷新我的页面时,他会像我不会那样登陆“文章项目”页面,但是如果他想通过按后退按钮返回到我的文章列表,没有任何反应,我有没有好主意来解决这个问题。

我知道当有人点击后退按钮时会触发 popState,所以我总是可以在那里设置一个正则表达式并重定向用户,但感觉不正确。

这里有人玩过history.js 或本地历史(html5)吗?我感谢所有的帮助,开枪吧!

例子:

$(".list-item a").click(function(e){
      e.preventDefault();
      History.pushState(null, $(this).text(), $(this).attr('href'));
      div = this;
});

活生生的例子。Githubs 树https://github.com/blog/760-the-tree-slider

编辑:现在已经测试了很多狗屎,但没有让它工作。一种解决方案是使用 History.replaceState(null, null, location.href); location.reload();

在我的“item.php”中,但是当我按下后退按钮时,这段代码应该会被触发。但是当我在 popstate 上 lissen 时,它会在 init 上触发。

4

0 回答 0