2014-11-07 14 views
10

In particolare, chiamando il seguente frammento di codice:history.replaceState aggiunge ancora voci alla "Cronologia esplorazioni"

history.replaceState(undefined, undefined, "#' + value)

sarà correttamente non influenzare il comportamento pulsante Indietro della pagina corrente, ma aggiungerà un accesso alla pagina "cronologia di navigazione". Nella foto qui sotto è Chrome, ma questo succede anche in Firefox.

C'è un modo per sostituire l'URL corrente senza aggiungere una voce alla cronologia di navigazione dell'utente?

Chrome Browser History

+0

Anche questo mi sono chiesto ma non ho mai trovato una risposta. –

+0

Non penso che quello che chiedi sia possibile con la storia, se non del tutto. "history.replaceState() funziona esattamente come history.pushState() eccetto che replaceState() modifica la voce della cronologia corrente invece di crearne una nuova." https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history –

+0

@realseanp A destra, e lo screenshot dell'OP mostra che replaceState sta creando nuove voci distinte. Nell'attuale Chrome Canary, con cronologia e cache eliminate, sto ancora ottenendo un comportamento simile. Il pulsante Indietro passa attraverso gli stati "sostituiti". – Ben

risposta

-2

Il modo corretto per renderlo utilizza il metodo replaceState. Nei test che ho fatto, sta funzionando molto bene sia in chrome che in firefox - la cronologia non è cambiata dopo aver eseguito replaceState.

+0

Penso che tu stia interpretando erroneamente la domanda: ti sto informando sulla pagina della cronologia del browser autonoma, non sulla cronologia di navigazione della pagina effettiva utilizzata dal pulsante Indietro. –

Problemi correlati