Как GitHub изменяет URL без перезагрузки страницы?
Перейдите на любую страницу GitHub и нажмите на любой из каталогов/файлов и посмотрите, как изменяется URL-адрес, но обновляется только часть страницы, Нет полной перезагрузки страницы.
Как мне сделать что-то подобное с помощью jQuery?
Это работает в большинстве браузеров (я использую Chrome)?
Ответы
Ответ 1
Они используют API истории или, в частности, history.pushState()
.
Вы можете использовать это, jQuery не требуется, но есть плагины, такие как history.js.
Это работает в большинстве браузеров, а именно Chrome, Safari и Firefox. IE10 и выше поддерживают это. В старых IE вы можете вернуться к использованию хеша (window.location.hash
).
GitHub также сообщил об этом.
Ответ 2
Github использует PJAX (Ref). Вы можете увидеть здесь jquery-pjax здесь. Обратите внимание, что эта функция не распространяется на поддержку браузером, есть некоторые браузеры, которые не могут использовать эти преимущества.