L'evento popState
verrà attivato quando l'URL è stato modificato (indietro o avanti). E di recente ho notato che, ad esempio, in http://www.example.com/
:Come annullare popState in determinate condizioni
<a href="#anchor">Top</a>
sarà anche innescare popState
, causando la pagina per "ricaricare".
Come posso sapere se è lo stesso url e solo la parte #
è stata modificata?
$(window).bind("popstate",function(){
swap(location.href);
})
Nell'esempio, quando si fa clic sul collegamento "Top" (vedi sopra), la pagina andrà a #anchor
, ma anche si innescherà popState
e provoca il ricaricamento, che è non mi aspetto.
Ma come posso combinarlo con 'popState'? –
[MDN] (https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history): '" Si noti che pushState() non causa mai l'attivazione di un evento di hashchange, anche se il nuovo URL differisce dal vecchio URL solo in il suo hash. "" Sembra non funzionare. –