Domanda

Sto costruendo una serie di fisarmoniche di base per un progetto.

Vogliamo che abbiano pagine statiche e collegabili. Quindi abbiamo creato pagine individuali anche per ciascuno degli stati aperti.

Ad esempio,

/ whoweare è il dispositivo di scorrimento principale.

Ma abbiamo un sotto-cursore situato in / Chisiamo / whatwedo

Quello che sto cercando di fare è quando un utente fa clic su un'intestazione su / whoweare, il dispositivo di scorrimento si apre e la barra dell'URL si aggiorna a / whoweare / whatwedo, ma non esiste un reindirizzamento effettivo. La posizione dell'URL dovrebbe semplicemente cambiare, niente di più.

Ho provato a usare

window.location.replace($(this).attr('href'));
return false;

Ma questo non sembra aver realizzato ciò che volevo, ma si ricarica ancora in una nuova pagina.

Altri suggerimenti?

È stato utile?

Soluzione

Non è possibile modificare l'URL senza reindirizzamento: sarebbe un incubo di phishing (cambiando l'URL in quello di una banca durante il soggiorno sul sito di phishing, ad esempio).

Puoi solo manipolare l'hash del documento, ovvero http://domain.com/#identifier - che è il modo in cui Google, Facebook, ecc. forniscono ai siti AJAX il supporto per la cronologia del browser.

Duplicazione esatta di # 352343 Modifica del browser & # 8217; barra degli indirizzi s senza aggiornamento .

aggiornamento: HTML5 ora consente pushState , ma solo all'interno dello stesso dominio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top