2

所以,在重新设计我的网站后,我想我会使用 HTML5 历史 API,当我在这里看到它的出色使用时:http: //diveintohtml5.ep.io/examples/history/casey.html

问题是,提供的代码对我不起作用(使用 Chrome 8)。

不完全确定为什么,但它只是在部分内容成功加载后使用链接的 href 值刷新页面。

是否还有其他使用 API 的示例?我不想要 History.js 或类似的东西,因为它使用 hash/hashbangs 作为后备。我正试图摆脱这些。

有任何想法吗?

编辑:Firebug 向我抛出一个“链接没有价值”以及无数对部分加载内容的请求。在这些页面刷新之后

4

1 回答 1

2

您必须拦截链接单击并调用您自己的 pushState - 如果您查看页面上的代码,您将看到事件处理程序:

function addClicker(link) {
  link.addEventListener("click", function(e) {
    if (swapPhoto(link.href)) {
      history.pushState(null, null, link.href);
      e.preventDefault();
    }
  }, true);
}
于 2011-09-24T03:23:42.577 回答