我写一个单页的javascript使用HTML5历史API的应用程序。应用程序通过Ajax加载内容,并使用屏幕堆栈在内部维护前台屏幕上的状态信息。HTML5历史禁用前进按钮
我希望能够与后退按钮导航,但我从来没有想前进按钮启用。
一对夫妇的信息快速位:
- 用户应该永远只能是能够回去,永远向前
- 按下浏览器的后退按钮关闭当前页面的屏幕用户并重新加载以前一个
- 项目的目标是向Chrome浏览器的最新版本而已,所以其他浏览器实现并不重要
- 我使用原生的JavaScript和jQuery只,我想这样做没有History.js
当我打开一个新的屏幕,我运行以下行:
history.pushState(screenData, window.document.title, "#");
我通过jQuery绑定到popstate事件:
$(window).bind("popstate", function(event) {
if (event.originalEvent.state != null) {
// Logic that loads the previous screen using my screen stack
}
});
我的应用程序的历史管理工作,但是当我回去了前进按钮被启用。我需要弄清楚如何从history
在popstate
事件删除数据。
我能做到这一点与replaceState?我不知道如何去这样做......
你好,我知道它有点老的答案,但我可以问是否有任何可能使用后退按钮只是一次真正去追溯历史,而不是点击它的2倍?因为像这样我第一次将相同的网址推入历史记录中,当我使用后退按钮时,它首先弹出推送的历史网址,这是相同的,因此需要2次点击后退按钮才能返回。如果你能帮助我,这将是非常棒的。 – Redrif 2017-04-05 07:19:59
我设法自己做,所以不需要回应我的评论。非常感谢您使用自己的自定义历史记录的建议。 – Redrif 2017-04-05 09:01:35