Как AJAX выполняется при просмотре исходного кода на github?

У Github действительно хороший браузер исходного кода. Переход между разными путями в репо генерирует вызовы ajax для загрузки контента (как вы можете ясно видеть в журнале firebug). Вызов ajax возвращает html нового списка отображаемых файлов. Помимо изменения списка просмотра файлов, изменяется и URL-адрес. Однако он не использует фрагменты, как большинство сайтов с глубокими ссылками на ajax (использование #). На github меняется весь URL.

Например, в репозитории django по адресу https: // github.com / django / django при переходе в папку django сгенерирует запрос ajax на https://github.com/django/django/tree/master/django?slide=1&_=1327709883334 , который вернет HTML-содержимое папки. Ссылка также изменится на https://github.com/django/django/tree/master/django . Как видите, эта новая ссылка не использует фрагмент.

Как это делается? Я всегда думал, что сайты на основе ajax должны использовать фрагменты URL-адресов (#) для достижения глубоких ссылок, но, видимо, это не так.

5
задан Abhijeet Rastogi 28 January 2012 в 00:39
поделиться