Los navegadores tienden a manejar el evento popstate de forma diferente en la carga de la página. Chrome y Safari siempre emiten un evento de estado emergente en la carga de la página, pero Firefox no lo hace.
Esta cita fue tomada de la documentación de Mozilla: https://developer.mozilla.org/en-US/docs/DOM/window.onpopstate
tiendo a estar de acuerdo con el sistema de Mozilla. La carga de página no es una acción que requiere que se active un evento de estado emergente adicional, porque el estado no se está copiando, se está cargando por primera vez.
Supongo que Webkit lo está haciendo por conveniencia ... en todas mis implementaciones, consistentemente es un inconveniente retrasar la carga de mi controlador hasta después de que el estado emergente inicial se haya disparado.
En lugar de esto (usando funciones pseudo):
AddEventHandler(window, 'popstate', OnPopState);
que tienen que hacer algo como esto:
AddLoadEvent(window.setTimeout(function()
{
AddEventHandler(window, 'popstate', OnPopState);
},0));
Esto se corrigió en Chrome Canary ahora, y presumiblemente se solucionará en la próxima versión (o dos) de Chrome. – Agamemnus
@Agamemnus, raro, no se dispara en la carga de la página para mí. – Pacerier
¿Bajo qué condiciones? – Agamemnus