Estoy escribiendo una aplicación AJAX compleja en este momento y todo el sitio tiene URL limpias. Por el momento, PHP crea el diseño básico para cada página, sin embargo, no quiero tener que salir de cada página cuando el usuario hace clic en un enlace, y no quiero tener un hash en la URL porque no ganó. se ajusta con el resto del sitio. Sé que esto ha aparecido antes en el sitio y parece ser bastante común, pero me preguntaba si había una manera clara de HTML5 de simplemente aparecer para cambiar la URL en la barra de direcciones, incluso si técnicamente permanece en el mismo página.¿Cómo cambiar la URL en el navegador sin tener que salir de la página?
Respuesta
Puedes hacerlo con history.pushState
, pero solo en los navegadores que lo admitan. Simplemente pruebe la siguiente línea en su navegador JavaScript-Console.
history.pushState({},"URL Rewrite Example","https://stackoverflow.com/example")
Más sobre esto en The pushState() method (Mozilla Developer)
pregunta similares How do I, with JavaScript, change the URL in the browser without loading the new page?
Como otros han dicho, history.pushState de HTML 5 es el camino a seguir. Intente buscar un repositorio en github para verlo en acción (https://github.com/visionmedia/express).
Problema es la única versión de IE que admite history.pushstate es IE10, que es una mierda.
¡Un montón de sitios usan hashbang #! URL como Twitter (por ejemplo, https://twitter.com/#!/Sironfoot). El hashbang es un patrón de URL acordado por los motores de búsqueda para que aún puedan rastrear e indexar un sitio web fuertemente impulsado por Ajax (más información aquí http://code.google.com/web/ajaxcrawling/docs/specification.html), por lo que podría ir por esa ruta.
El único otro enfoque es utilizar history.pushstate para los navegadores que lo admitan y volver a las actualizaciones de página completa para los navegadores no compatibles.
- 1. Cómo cambiar la URL que se muestra en el navegador sin salir de la página
- 2. Actualizar la URL del navegador sin tener que volver a cargar la página
- 3. Actualizar página en el navegador sin tener que volver forma
- 4. Cómo cambiar la página url
- 5. Cambiar la URL del navegador y el contenido de la página sin recargar y sin usar fragmentos
- 6. ¿Cómo puedo cambiar la URL de la página sin actualizar la página?
- 7. cómo cambiar la URL en la barra de direcciones sin volver a cargar la página
- 8. Ir al ancla sin cambiar la URL
- 9. Cambiar página sin actualizar un div en la página
- 10. Cambio URL en el navegador barra de direcciones sin recarga de la página existente
- 11. Javascript: ¿Cómo cambio la URL en la barra de direcciones sin actualizar la página?
- 12. ¿Hay alguna manera de cambiar la barra de direcciones del navegador sin actualizar la página?
- 13. ¿Cómo este sitio cambia la URL del navegador sin cambiar las páginas?
- 14. ¿Puedo actualizar window.location.hash sin tener que desplazar la página web?
- 15. ¿Cómo cambiar la página de dentro JavaScript
- 16. Cómo cambiar la url usando django process_request.
- 17. ¿Cómo puedo cambiar la URL sin actualizar la página como Google+?
- 18. ¿Cómo hago para que Slim Framework funcione sin tener que poner /index.php en la URL?
- 19. Mover el navegador a la ubicación de anclaje sin hacer que la página se actualice
- 20. ¿Puede valorar los informes parciales de salida sin tener que salir de la aplicación perfilada?
- 21. ¿Cómo mantener viva la sesión sin tener que volver a cargar la página?
- 22. Cómo evitar que el usuario cambie la página con jQuery
- 23. Tener URL sin extensión .aspx
- 24. HTML - Cambiar \ Actualizar el contenido de la página sin actualizar \ recargar la página
- 25. Cambiar la URL de la barra de direcciones del navegador con jQuery
- 26. jQuery transición de página y el navegador de la historia
- 27. Cambiar la página de inicio en el navegador Chrome desde la extensión
- 28. ¿Cómo cambiar la URL actual en javascript?
- 29. cómo insertar la página actual en el historial del navegador
- 30. Obteniendo la URL de la última página del objeto del historial: ¿cruzar el navegador?