我正在开发一个网络应用程序,并希望在浏览器中使后退按钮更像应用程序。
用户通过以下步骤发布消息: 列出所有消息 - >阅读一条消息 - >写回复 - >回复后回复消息
如果用户然后单击后退按钮,他将在回复时写回页面。首选的操作是返回所有消息列表。
我已尝试使用HTML5历史记录API删除"写回复"的历史记录。并且"阅读一条消息"发布后,但似乎无法做到这一点。
还有其他任何方式让它表现得像我想要的那样,或者我应该保持原样吗?我知道你不应该使用后退按钮,但我真的认为这会使它更合乎逻辑。
答案 0 :(得分:1)
你可以尝试这样做:
用户撰写回复后,您可以执行此js
// 1) push a fake state in the history
history.pushState({ foo: "test" }, "test", "test.html");
// 2) add a listener when the user press the back button
window.addEventListener('popstate', function(event) {
//redirect user where you want
window.location.href = '...';
}, false);
然而,这是一个可能的解决方案,但我不知道环境,我不知道是否适合您的要求。 希望这可以提供帮助!