HTML5 History API со стандартными ссылками - PullRequest
2 голосов
/ 21 июля 2011

Итак, после редизайна моего сайта я подумал, что буду использовать API истории HTML5, когда увидел блестящее использование его здесь: http://diveintohtml5.ep.io/examples/history/casey.html

Проблема в том, что предоставленный код не работает для меня (используется Chrome 8).

Не совсем уверен, почему, но он просто обновляет страницу со значением href ссылки после успешной загрузки частичного контента.

Есть ли другие примеры такого использования API? Я не хочу History.js или что-то в этом роде, так как в качестве запасного варианта используются хэш / хэш-банг. Я пытаюсь избавиться от них.

Есть идеи?

edit: Firebug выбрасывает «ссылку не имеет значения» и бесчисленные запросы частично загруженного контента. После этого страница обновляется

1 Ответ

2 голосов
/ 24 сентября 2011

Вы должны перехватить щелчок по ссылке и вызвать свой собственный pushState - если вы посмотрите код на странице, вы увидите обработчик события:

function addClicker(link) {
  link.addEventListener("click", function(e) {
    if (swapPhoto(link.href)) {
      history.pushState(null, null, link.href);
      e.preventDefault();
    }
  }, true);
}
...