2012-03-19 8 views
3

Это может быть дубликат. Я искал, но не знаю, какие условия использовать. Если вы можете найти дубликат, спасибо, я удалю этот вопрос.Может ли history.js привязать URL-адрес без хэша или? персонаж?

Я слышал, что history.js является «лучшей» глубокой связующей библиотекой ajax, потому что она имеет лучшую совместимость для старых браузеров. Однако каждая демонстрация, которую я видел в этой библиотеке, меняет URL-адрес с помощью? характер как /my/url?key=value или что-то в этом роде.

Мне очень нравится слайдер на github при просмотре исходного дерева проекта. Например, щелчок по папке будет загружать содержимое папки асинхронно, изменяя полный URL-адрес в браузере без каких-либо хэшей или мусора.

Кто-нибудь знает, есть ли библиотека, которая выполняет это? Я не против библиотеки, которая не будет работать в браузерах, не совместимых с html5. Должен ли я просто использовать чистый API-интерфейс push5 для HTML5?

+2

Там в потенциально связанный с вопросом, в частности, о реализации GitHub в здесь: http://stackoverflow.com/questions/6560570/how-does-github-do-pushstate-without-hash-tags –

+0

@MattSach да, это именно то, что я искал. Спасибо. – danludwig

ответ

2

PJAX (push-state ajax) - это, вероятно, лучший выбор для этого https://github.com/defunkt/jquery-pjax.

В использует API-интерфейс push-state, позволяющий использовать реальные URL-адреса, и если браузер не поддерживает API-интерфейс push-state, он просто возвращается к тому, чтобы ссылки работали нормально (вместо загрузки разделов страниц через AJAX).

Если не пользователь JQuery и до сих пор нравится идея PJAX, есть также альтернативные автономные реализации (подключено бессовестно, потому что я написал) вы можете получить на https://github.com/thybag/PJAX-Standalone