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
Możesz to zrobić z history.pushState
, ale tylko w przeglądarkach, które go obsługują. Po prostu wypróbuj następującą linię w swojej przeglądarce JavaScript-Console.
history.pushState({},"URL Rewrite Example","https://stackoverflow.com/example")
Więcej na ten temat w The pushState() method (Mozilla Developer)
Podobne pytanie How do I, with JavaScript, change the URL in the browser without loading the new page?
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.
- 1. Jak zmienić adres URL strony
- 2. Jak zmienić adres URL bez odświeżania strony, takiej jak Google+?
- 3. Jak zmienić adres URL poprzez zmianę $ stateParams bez przeładowywania strony
- 4. Javascript: Jak zmienić adres URL w pasku adresu bez odświeżania strony?
- 5. Jak zmienić URL strony w Google Analytics
- 6. zmienić adres URL bez zmiany nazwy zasobu
- 7. Jak zmienić aktualny adres URL w javascript?
- 8. Adres URL bez identyfikatora
- 9. Jak zmienić adres URL w pasku adresu bez ponownego ładowania strony?
- 10. Java HttpServletRequest uzyskać adres URL w przeglądarce Pasek adresu URL
- 11. Jak uzyskać pełny adres URL strony Drupal?
- 12. Jak zmienić adres URL skryptu zewnętrznego?
- 13. Jak uzyskać adres URL strony odsyłającej po przekierowaniu w javascript
- 14. Jak uzyskać adres URL strony głównej?
- 15. jak uzyskać aktualny adres URL strony w selen-webdriver
- 16. NodeJS Express - Pokaż adres URL bez użycia rozszerzenia html
- 17. Jak zmienić domyślny adres URL ActiveAdmin?
- 18. Jak uzyskać adres URL favicon z ogólnej strony w JavaScript?
- 19. Jak uruchomić program ASP.NET 5 bez otwierania strony w przeglądarce
- 20. Adres URL administratora mojej strony wtyczki
- 21. Otwarty adres URL w istniejącej przeglądarce/karcie w java
- 22. Jak załadować adres URL https bez użycia ssl w przeglądarce internetowej?
- 23. Jak uzyskać aktualny adres URL strony w widoku?
- 24. jak uzyskać adres URL przekierowania zamiast zawartości strony w golangu?
- 25. Jak uzyskać adres URL bieżącej strony w PHP
- 26. Jak uzyskać adres URL strony odsyłającej w działaniu ASP.NET MVC?
- 27. Otwórz adres URL w domyślnej przeglądarce internetowej w WinRT
- 28. Czy podstawowy adres URL może zmienić Swagger?
- 29. Getting pełny adres URL bieżącej strony (PHP)
- 30. Jak zmienić adres URL zdalnego/docelowego repozytorium w systemie Windows?