2011-12-19 15 views
8

Sto scrivendo un'applicazione complessa AJAX al momento e l'intero sito ha URL puliti. Al momento PHP crea il layout di base per ogni pagina, ma non voglio dover allontanarmi da ogni pagina quando l'utente fa clic su un link e non voglio avere un hash nell'URL perché ha vinto " si adatta al resto del sito. So che questo è già apparso sul sito e sembra essere abbastanza comune, ma mi chiedevo se esistesse un modo carino HTML5 di apparire per cambiare l'URL nella barra degli indirizzi, anche se tecnicamente rimane sullo stesso pagina.Come modificare l'URL nel browser senza spostarsi dalla pagina?

risposta

3

Come altri hanno detto, history.pushstate di HTML5 è la strada da percorrere. Prova a sfogliare un repository su github per vederlo in azione (https://github.com/visionmedia/express).

Il problema è l'unica versione di IE che supporta history.pushstate è IE10, che fa schifo.

Un sacco di siti utilizzano hashbang #! URL come Twitter (ad esempio https://twitter.com/#!/Sironfoot). L'hashbang è un pattern URL concordato dai motori di ricerca in modo che possano ancora scorrere e indicizzare un sito Web con un elevato carico di Ajax (maggiori informazioni qui: http://code.google.com/web/ajaxcrawling/docs/specification.html), in modo da poter seguire quella rotta.

L'unico altro approccio è utilizzare history.pushstate per i browser che lo supportano e tornare agli aggiornamenti a pagina intera per i browser non di supporto.

Problemi correlati