2010-05-31 11 views

risposta

14

È possibile modificare la parte di hash/anchor dell'URL (dopo #). Il resto dell'URL è in sola lettura.

location.hash = "#value"; 
9

URL riscrittura non è possibile, ma è molto comune per aggiungere dati di azione con un hash. Ad esempio, Facebook utilizza ampiamente:

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

Tutto dopo l'hash è solo dati di ancoraggio nella stessa pagina, che è possibile modificare lo script per tutto il giorno.

I browser più recenti offrono anche il onhashchanged event in modo da poter reagire alla modifica "URL" invece di eseguire il polling costantemente.

+0

Questo è molto bello! Lo ricorderò per progetti futuri. Ma sto ricorrendo ad un'altra soluzione. – richardverbruggen

0

L'unica soluzione possibile è aggiungere un'ancora. Quindi è possibile utilizzare qualcosa come reallysimplehistory per consentire all'utente di aggiungere una pagina ai segnalibri o utilizzare il pulsante Indietro all'interno di una pagina giusta.

L'ho fatto anche con una pagina a schede in passato.

24

Quando tutti gli altri hanno risposto a questa domanda, avevano ragione, non è stato possibile modificare l'URL in javascript. Con HTML5 e browser moderni, ora utilizza lo HTML5 History API

diveintohtml5.info article. Here è un altro buon post sul blog che spiega la funzione.

Controllare caniuse.com per la compatibilità del browser.

Esistono librerie come History.js che racchiudono API e pollyfill utilizzando hashbang per i vecchi browser.

Problemi correlati