2011-12-19 9 views
8

Piszę teraz kompleksową aplikację AJAX, a cała witryna ma czyste adresy URL. W tej chwili PHP tworzy podstawowy układ dla każdej strony, ale nie chcę odejść od każdej strony, gdy użytkownik kliknie na link, i nie chcę mieć hasha w adresie URL, ponieważ wygrał ' pasuje do reszty strony. Wiem, że to wcześniej pojawiało się w witrynie i wydaje się, że jest to dość często zadawane pytanie, ale zastanawiałem się, czy istnieje prosty sposób HTML5, który po prostu pojawia się, aby zmienić adres URL w pasku adresu, nawet jeśli technicznie pozostaje na tym samym poziomie. strona.Jak zmienić adres URL w przeglądarce bez konieczności przechodzenia od strony?

Odpowiedz

3

Jak inni stwierdzili, history.pushstate HTML5 jest do zrobienia. Spróbuj przejrzeć repo na github, aby zobaczyć go w akcji (https://github.com/visionmedia/express).

Problem jest jedyną wersją IE, która obsługuje history.pushstate jest IE10, która jest do dupy.

Wiele witryn używa hashbang #! Adresy URL, takie jak Twitter (np. https://twitter.com/#!/Sironfoot). Hashbang to wzorzec adresu URL uzgodniony przez wyszukiwarki, dzięki czemu mogą nadal trałowić i indeksować silnie działającą stronę internetową Ajax (więcej informacji tutaj: http://code.google.com/web/ajaxcrawling/docs/specification.html), abyś mógł wybrać tę trasę.

Jedynym innym podejściem jest użycie history.pushstate dla przeglądarek, które go obsługują, i powrót do pełnych stron odświeżenia dla nie wspierających przeglądarek.

Powiązane problemy