Как GitHub меняет URL-адрес без перезагрузки страницы? - PullRequest
28 голосов
/ 29 сентября 2011

Перейдите на любую страницу GitHub , щелкните любой из каталогов / файлов и посмотрите, как изменяется URL-адрес, но обновляется только часть страницы. Там нет полной перезагрузки страницы.

Как мне сделать нечто подобное, используя jQuery?

Работает ли это в большинстве браузеров (я использую Chrome)?

Ответы [ 2 ]

30 голосов
/ 29 сентября 2011

Они используют History API , или, в частности, history.pushState().

Вы можете использовать это, jQuery не требуется, но есть плагины, такие как history.js .

Это работает в большинстве браузеров, а именно в Chrome, Safari и Firefox.IE10 и выше поддерживает это.В старых IE вы можете использовать хеш (window.location.hash).

GitHub также написал в блоге об этом .

4 голосов
/ 29 сентября 2011

Github использовать PJAX (Ref) .Вы можете увидеть jquery-pjax здесь .Обратите внимание, что эта функция не поддерживается всеми браузерами, есть некоторые браузеры, которые не могут использовать эти преимущества.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...