【问题标题】:HTML5 History API: surviving to a a clear history?HTML5 History API:在清晰的历史中幸存下来?
【发布时间】:2012-03-30 17:57:52
【问题描述】:

History API 使得在浏览器历史记录中存储状态对象成为可能。现在试试this demo(但它与其他任何行为都是相同的,选择你最喜欢的:)):

  1. 点击一些链接来建立一些历史
  2. 清除您的浏览器历史记录(完整或仅针对此站点)
  3. 你仍然可以穿越历史

我预计清除历史记录会产生影响,但事实并非如此......
有人可以解释这种行为吗?

【问题讨论】:

    标签: html5-history


    【解决方案1】:

    history.pushState() 方法

    “状态对象可以是任何可以序列化的对象。因为 Firefox 将状态对象保存到用户的磁盘中,以便用户重新启动浏览器后可以恢复它们,所以我们对序列化表示的state 对象。如果您将序列化表示大于 this 的 state 对象传递给 pushState(),该方法将抛出异常。如果您需要比这更多的空间,建议您使用 sessionStorage 和/或 localStorage。"

    参考: https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

    【讨论】:

    • 我同意,但这不是我的问题的重点。我会重新表述,因为它似乎很难理解。
    【解决方案2】:

    好吧,看来我过于关注历史 API。我终于尝试做同样的事情(在任何网站上建立历史记录,然后清除历史记录),而且行为相同:仍然可以来回移动。
    所以我的理解是,清除历史记录并不能真正清除打开标签的历史记录:它只是从列表中消失,但在关闭标签之前不会从真实历史记录中消失。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 2012-10-26
      • 2014-08-30
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多