1

用例: 我有一个网页,其中显示了一些功能的弹出框。弹出框可以被认为是一个 HTML div,当点击相应的按钮时显示。单击取消按钮/单击浏览器后退按钮时再次隐藏。

问题: 考虑显示弹出框。当用户单击后退按钮时,他不应该被导航回上一页,而是只有弹出框 div 应该被隐藏。

如何使用 javascript 将此功能添加到浏览器后退按钮?

提前致谢

4

3 回答 3

4

听起来您正在寻找 HTML5 History API。

可以在http://diveintohtml5.info/history.html找到关于它如何工作的非常好的介绍。

可以在http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html找到更多信息。

此外,您应该考虑为旧版浏览器填充该功能。这样做有很多选择,包括https://github.com/browserstate/history.js,其中包括一些示例代码,甚至还有一个工作演示(http://browserstate.github.io/history.js/demo/)。

于 2013-05-05T18:02:01.037 回答
2

您可以使用附加到 URL 的哈希值来获取历史更改。

index.html-> 用户打开弹出框 ->index.html#popover

现在单击后退按钮将重定向回index.html. 当然,这需要一些 JavaScript 代码。

于 2013-05-05T17:48:53.240 回答
0

出于明显的安全原因,您不能覆盖浏览器中的按钮操作,但您可以通过编程方式添加历史记录条目,即使当前页面在历史记录中显示两次,这样当用户单击后退按钮时,他/她会被重定向回同一页。使用真正简单的历史来实现这一目标。

于 2013-05-05T17:50:11.703 回答