A questo punto abbiamo una photogallery che utilizza gli hashvalues per determinare quale immagine è attualmente mostrata all'utente e per supportare l'invio della pagina ad un amico e così via. Qualcosa di simile:top.location.replace crea la cronologia in Safari/Chrome
Quando abbiamo caricato l'immagine corrispondente dopo aver fatto clic sul pulsante successivo o precedente, cambiamo l'url in base alle specifiche JS 1.1 utilizzando:
top.location.replace(url.url + hash);
nostra voleva comportamento è non è stato creato alcun elemento della cronologia, quindi gli utenti possono utilizzare il pulsante Indietro per uscire dalla galleria fotografica, invece di usare il pulsante Indietro per vedere le immagini precedenti.
In IE e Firefox il metodo funziona come un incantesimo, ma Safari e Chrome creano un elemento di cronologia per l'URL modificato. Ho trovato un sacco di esempi su come creare gli elementi della cronologia quando si usa l'hash per navigare in questo modo, ma voglio farlo in un altro modo. Qualche indizio?
Sì "sostituire (url) \t sostituire il documento corrente con quella all'URL fornito. La differenza dal metodo di assegnazione() è che dopo aver usato replace() la pagina corrente non verranno salvate nella cronologia della sessione, significato l'utente non sarà in grado di utilizzare il pulsante Indietro per navigare ad esso. " E lì ho il mio bug, perché non funziona in Webkit. –
Mi chiarirò la mia risposta – MyItchyChin
location.hash crea gli elementi della cronologia in tutti i principali browser tranne IE, quindi non funzionerà :-) –