Я пытаюсь реализовать достойную навигацию в приложении AJAX. Что я сейчас делаю, так это:
- Каждый раз, когда пользователь щелкает ссылку AJAX, выполняется соответствующий вызов и хэш изменяется.
- Всякий раз, когда загружается новая страница, я проверяю, присутствует ли хеш, и выполняю соответствующий вызов AJAX для обновления страницы. Это гарантирует, что закладки будут работать как положено.
- Каждые 500 мс я проверяю, изменился ли хэш, и выполняю соответствующий вызов AJAX. Это позволяет пользователям нажимать кнопки «назад / вперед», хотя и с небольшой задержкой.
Третий момент немного раздражает: я бы предпочел не устанавливать тайм-аут каждые 500 мсек только для проверки хэша, так как большую часть времени он останется прежним.
Есть ли лучший способ справиться с этим? Я не могу придумать альтернатив, но, может быть, я что-то упускаю.
Пожалуйста, не указывайте мне на готовые решения, если только вы не знаете, что они основаны на другом механизме.