I browser tendono a gestire l'evento popstate in modo diverso al caricamento della pagina. Chrome e Safari emettono sempre un evento popstate al caricamento della pagina, ma Firefox non lo fa.
Questa citazione è stata presa dalla documentazione di Mozilla: https://developer.mozilla.org/en-US/docs/DOM/window.onpopstate
tendo a concordare con il sistema di Mozilla. Il caricamento della pagina non è un'azione che richiede l'attivazione di un evento popstate aggiuntivo, poiché lo stato non viene visualizzato, viene caricato per la prima volta.
Suppongo che Webkit lo stia facendo per comodità ... in tutte le mie implementazioni, è sempre un inconveniente ritardare il caricamento del mio gestore fino a quando il popstate iniziale non ha sparato.
Invece di questo (utilizzando pseudo funzioni):
AddEventHandler(window, 'popstate', OnPopState);
devo fare qualcosa di simile:
AddLoadEvent(window.setTimeout(function()
{
AddEventHandler(window, 'popstate', OnPopState);
},0));
Questo problema è stato risolto in Chrome Canary ora e presumibilmente verrà risolto nella prossima versione (o due) di Chrome. – Agamemnus
@Agamemnus, Weird, non si attiva per il caricamento della pagina. – Pacerier
In quali condizioni? – Agamemnus