2011-09-29 11 views
28

Przejdź do dowolnego GitHub page i kliknij dowolny katalog/plik i obserwuj, jak zmienia się adres URL, ale aktualizowana jest tylko część strony. Nie ma przeładowania całej strony.W jaki sposób GitHub zmienia adres URL bez ponownego ładowania strony?

Jak zrobić coś podobnego za pomocą jQuery?

Czy to działa w większości przeglądarek (używam przeglądarki Chrome)?

+1

Jeśli to pytanie zostanie scalone z duplikatem, zachowaj odpowiedź @ alex. Jest lepszy niż odpowiedź Zacha w drugim poście. – Greg

+0

Powtarzam to, ponieważ oryginał został usunięty. Zawierała tylko link do bloga w celu uzyskania odpowiedzi. –

Odpowiedz

30

Używają one history API lub konkretnie history.pushState().

Możesz tego użyć, jQuery nie jest wymagany, ale są wtyczki, takie jak history.js.

Działa to w większości przeglądarek, a mianowicie Chrome, Safari i Firefox. IE10 i wyżej obsługują to. W starszych wersjach IE możesz ponownie użyć skrótu (window.location.hash).

GitHub also blogged about this.

+0

Czy potrzebna jest konfiguracja na zapleczu? – kspacja

4

Github use PJAX (Ref). Możesz zobaczyć o jquery-pjax here. Zauważ, że ta funkcja nie jest objęta wsparciem dla wszystkich przeglądarek, istnieje przeglądarka, której nie można wykorzystać.

Powiązane problemy