Ответ 1
GitHub использует http://pjax.heroku.com/
Для браузеров, которые не поддерживают pushState, он просто ухудшает обычное старое загрузочное поведение полной страницы.
Я изучаю лучший способ использовать историю HTML5 api aka psuhState с надлежащим резервом для браузеров HTML4.
Github использует историю api для просмотра дерева (следующая ссылка - это всего лишь пример, а не библиотека github):
https://github.com/browserstate/History.js/
Что я не могу понять, так это то, как они обрабатывают эту функциональность для браузеров HTML4, таких как Firefox 3.5?
Я рассмотрел, в частности, history.js(связанный выше), чтобы справиться с такими вещами. Но для реализации браузеров HTML4 требуется реализация хеша #, которую я бы хотел избежать.
Если вы посещаете Github и просматриваете дерево каталогов с помощью браузера HTML4, он выглядит идентично браузеру HTML5 (это состояние URL-адреса, то есть).
Если отключить JavaScript в FF3.5, URL-адрес, который ранее выглядел следующим образом:
https://github.com/browserstate/history.js/tree/master/tests
теперь выглядит следующим образом:
https://github.com/browserstate/history.js/tree/a32e91aa1fe5909a29abb690a37f6c129e98068e/tests
Любые мысли?
GitHub использует http://pjax.heroku.com/
Для браузеров, которые не поддерживают pushState, он просто ухудшает обычное старое загрузочное поведение полной страницы.
Отзывчивый веб-дизайн из будущего - это презентация в виде слайд-шоу от Kyle Neath от Kyle Neath, которая работает в GitHub, которая может вам помочь.
PushState. replaceState. Hashbangs. AJAX. PJAX. Свекла. Медведи. Баттлестар Галактика.
Отзывчивый веб-дизайн - это намного больше, чем размер вашего экран. Этот разговор о том, как GitHub обрабатывает ссылки, URL-адрес бар, частичные обновления страниц и объясняет, почему я думаю, что история HTML5 API - самая важная вещь, которая должна произойти с разработкой интерфейса с Firebug.