Sto caricando la pagina tramite Ajax. Quando l'utente fa clic su un collegamento, la pagina viene caricata correttamente AJAX, ma quando l'utente fa clic sul pulsante Indietro, le pagine ricaricano la pagina iniziale. quindi lo scenario è questo.History API e History.js Back Button issue
- Caricare la pagina iniziale (index.php)
- utente fa clic sul collegamento
- la pagina viene caricata con successo
- fa clic sul pulsante Indietro
- La pagina iniziale è di essere mostrate due volte.
Ecco il markup.
$(function() {
// Prepare
var History = window.History; // Note: We are using a capital H instead of a lower h
if (!History.enabled) {
// History.js is disabled for this browser.
// This is because we can optionally choose to support HTML4 browsers or not.
return false;
}
// Bind to StateChange Event
History.Adapter.bind(window, 'statechange', function() { // Note: We are using statechange instead of popstate
var State = History.getState();
$('#content').load(State.url);
});
$('a').click(function(evt) {
evt.preventDefault();
History.pushState(null, $(this).text(), $(this).attr('href'));
alert(State.url)
});
});
questo è il markup
<div id="wrap">
<a href="page1.html">Page 1</a>
</div>
<div id="content">
<p>Content within this box is replaced with content from
supporting pages using javascript and AJAX.</p>
</div>
Se ancora non si ottiene la mia domanda o lo scenario
Ecco lo scenario completo. iniziale Pagina
quando l'utente clicca sul link la pagina viene caricata selezionati con successo
quando clicco sul pulsante Indietro nella pagina iniziale è ora raddoppiata
Come te può vedere il link "Pagina1" è raddoppiato. È un problema del browser? o il mio understading della storia è qualcosa che manca o manca? Qual è la possibile soluzione per questo?
È il tuo errore! Stai caricando l'intera pagina entro "
" quando torni indietro. –