So che questa è una domanda piuttosto datato, ma mi si avvicinò a una soluzione ai problemi con il tasto avanti/indietro quando si passa da una pagina standard e una pagina di storia dello stato.
Scenario: Utilizzare HTML5 Storia (o history.js plugin) su una serie di pagine Poi altre pagine abbiamo bisogno carichi reali, alias una pagina standard (non chiedere perché, ma ci sono alcuni casi d'uso che questo potrebbe essere necessario)
Quando si passa da una pagina dello stato di cronologia e si esegue un carico reale su una pagina standard. Non puoi tornare indietro: cambia l'url, ma non carica la pagina - spara solo una statechange; che presumo sia il problema del post originale. La mia opinione personale è che questo è un bug del browser (tutti i browser hanno il problema, però), perché il browser dovrebbe sapere che la pagina su cui ci si trova è stata ricaricata al di fuori della pagina dello stato della cronologia.
Ho risolto il problema con qualcosa di veramente semplice: Ascoltando l'evento statechange e diciamo al browser di aggiornarsi quando si attiva. In questo modo non mi interessa se tornano o escono da questa pagina. Se il browser pensa che lo stato stia cambiando (i link non attivano l'evento statechange), solo back/forward INTO in una pagina di stato Cronologia attiva questo evento, quindi risolve il problema.
codice, utilizzando jQuery + History.js plugin:
$(window).on('statechange', function() {
window.location.reload();
});
Se questo non ha senso, si sta probabilmente non avere questo problema. Tuttavia, in molti siti ho notato che do utilizza la cronologia HTML 5 (anche pinterest.com presenta questo problema se si ricarica quando si è su un'immagine modale e quindi si tenta di tornare indietro).
Speriamo che, se si dispone di questo problema, troverete questa risposta e hanno un enorme sospiro di sollievo :)
fonte
2013-02-01 08:57:37
Avevo pensato a una logica simile, tuttavia, la commutazione di stato viene attivata quando si invia pushState e quando si preme back/forward, che crea un loop di ricarica infinito. – Dean
In effetti, un enorme sollievo. Stavo per arrendermi. –