2010-05-31 40 views

Respuesta

14

Puede cambiar la parte hash/anchor de la URL (después de #). El resto de la URL es de solo lectura.

location.hash = "#value"; 
9

URL reescritura no es posible, pero es muy común para anexar los datos de acción con un hash. Por ejemplo, Facebook utiliza ampliamente:

http://www.facebook.com/#!/username 
         ^

Todo después de que el hash es sólo los datos de anclaje en la misma página, que se puede modificar mediante la escritura durante todo el día.

Los navegadores más nuevos también ofrecen el onhashchanged event para que pueda reaccionar al cambio de "URL" en lugar de sondearlo constantemente.

+0

¡Esto es muy agradable! Voy a recordarlo para futuros proyectos. Pero estoy recurriendo a otra solución. – richardverbruggen

0

La única solución posible es agregar un anclaje. Luego puede usar somwething como reallysimplehistory para permitir al usuario marcar una página o usar el botón Atrás dentro de su página ajaxified.

He hecho eso con una página con pestañas en el pasado, también.

24

Cuando todos los demás respondieron esta pregunta, tenían razón, no era posible cambiar la URL en javascript. Con HTML5 y navegadores modernos, ahora está utilizando el HTML5 History API

diveintohtml5.info article al respecto. Here es otra buena publicación de blog que explica la función.

Compruebe caniuse.com para la compatibilidad del navegador.

Hay bibliotecas como History.js que envuelven la API y pollyfill usando hashbangs para navegadores antiguos.

Cuestiones relacionadas