2012-02-08 1 views
3

Возможный дубликат:
How does github change URL without reloading a page?GitHub как навигационном


Я не знаю, как описать, но как же это круто слайд эффект на GitHub File Explorer работы?
Не графическая часть, а логика javascript/ajax. Кажется, что страница не перезагружается, и следующий каталог просто переместился. Я думал, что с javascript вы можете изменить хэш, а не весь путь к URL.
Итак, как можно изменить URL-адрес от somedomain.com/foo до somedomain.com/foo/bar без перезагрузки всей страницы, просто загружая новый контент через ajax или websockets. Я определенно не знаю, как это сделать, или с каким трюком это работает на github.

+0

github использует состояния HTML5 в поддерживаемых браузерах. Попробуйте более старую версию IE; вы потеряете эффект слайда. –

+0

Хм, извините, за закрытое голосование; Я понял, что страница, на которую я ссылаюсь, отвечает только на вторую часть вопроса, а не на эффект «слайда». –

+0

@ Tamás: Этот вопрос явно говорит «Не графическая часть». –

ответ

3

Вы можете использовать библиотеки javascript для такого рода вещей. Хорошим является History.js. Он использует состояние нажатия, когда он может, и возвращается обратно к хэшам, когда нет. Я использовал его в нескольких проектах и ​​считаю его действительно хорошим, особенно если вы используете js-шаблоны. Такие как Dust.js

Вот ссылка на страницу Historyjs github history js.

Что касается ajax идет. Я использовал идентификатор типа на моем URL-адресе. Поэтому, когда пользователь перемещается в/home, перезагрузка страницы не выполняется, и вместо этого вызов ajax отправляется в /homepage.json . Из которого извлекается ответ json, а затем отображается в шаблоне dom или js.

Смежные вопросы