Sto usando questo tipo di linea in una risposta JSpulsante Indietro del browser non funziona correttamente dopo aver utilizzato pushState (in Chrome)
if (history && history.pushState){
history.pushState(null, null, '<%=j home_path %>');
}
ma quando clicco back
nel browser, vedo il codice JS di la risposta invece della pagina precedente.
C'è un modo per far funzionare il pulsante indietro per cui sarebbe nuovamente richiesta la pagina dell'ultimo url (prima home_path
come pushStated in
Aggiornamento:?
ho trovato this .. sembra che altri hanno lo stesso problema con .. History.js non si risolve neanche
Quindi, per confermare alcuni dei commenti lì .. Questo accade solo in cromo
Cosa penso
Penso che la radice di tutto questo è che il popstate richiede lo stesso tipo di docuemtn pushstate (risposta js). Ciò che deve essere fatto è su richiesta popstate la risposta html .. io non so come
Altri aggiornamenti:
vedendo http://railscasts.com/episodes/246-ajax-history-state si parla di utilizzare
$(window).bind("popstate", function() {
$.getScript(location.href);
});
questo risolve il problema ma secondo understanding jQuery $.getScript() con tout caching ajax aggiungerà timestamp .. che inquina l'url .. disattivandolo non funziona di nuovo con lo stesso effetto ..
Qualcuno sa come risolvere questo?
Ancora più Aggiornamenti
ho rintracciato i sentieri della questione in tutto l'interweb e si è conclusa con un issue in chrome che punta a un problema di rotaie (Firefox funziona bene comunque) e un issue in rails-ujs riguardanti non compresi Vary intestazione in le risposte
esempio può essere trovato here
Vuoi fornire il codice sorgente completo e di uscita? Il blocco di codice che hai fornito è corretto. Ho bisogno di più informazioni per aiutare a risolvere il tuo problema. –
In quale stringa viene eseguito ''<% = j home_path%>''? – Simon
risulta in '/ home' –