Как справиться с обновлением страницы с помощью JS History API pushState

Небольшой веб-сайт, который я создавал (больше похожий на возню), использует AJAX для загрузки каждой страницы. Раньше я менял хеш URL-адреса, это отлично работало, но было некрасиво, и пользователь мог обновить страницу, и она оставалась бы на той же странице.

Теперь я переключился на использование pushState в API истории JS, что выглядит намного лучше, и назад и вперед работают, но не обновление. Например:

Переход к: http://example.com/page2 переходит к 404, поскольку реальной страницы с именем page 2 нет. Но если я нажму кнопку, которая использует метод pushState чтобы изменить URL-адрес, он работает так, как должен.

Как разрешить обновления и постоянные ссылки с новым API истории?

(И как поисковые системы относятся к этому, видя, как Google должен был создать способ индексации хеш-URL, заставив разработчика переключиться на #! , возможно ли, что они сделают что-то подобное для API истории в будущем?)

21
задан Nicole 31 May 2011 в 22:55
поделиться