Por quéhistory.pushState no desencadena evento 'popstate'
$(function() {
$(window).bind('popstate', function() {alert('pop');});
window.history.pushState(null, '', '/foo');
});
no lo hace alerta pop
?
Nota: Las pruebas en el último cromo
-
Según MDN:
Un evento popstate se envía a la ventana cada vez que cambia la entrada del historial de activos. Si la entrada de historial activada fue creada por una llamada a pushState o afectada por una llamada a replaceState, la propiedad de estado del evento popstate contiene una copia del objeto de estado de la entrada del historial.
¿Por qué mi pushState
no desencadena el evento popstate
?
popstate también se activa cuando el usuario presiona el botón de avance. – circuitry
pushstate activa popstate! Por lo tanto, "un evento de estado emergente se envía a la ventana cada vez que cambia la entrada del historial activo". –
@AlexGill ¿Tiene un caso de prueba que demuestre este comportamiento? Algo como: ' window.onpopstate = function (e) {alert ('popstate'); } history.pushState (null, ''); ' –