Tengo el siguiente código de redireccionamiento de JavaScript seguido de un código más.¿Qué le sucede al código después de un redireccionamiento de JavaScript (configuración window.location.href)?
window.location.href = '/someurl';
alert('hello');
alert('hello again');
Esto provoca una incoherencia en el navegador.
En firefox, la primera alerta es visible por una fracción de segundo justo antes de ser redirigido. La segunda alerta no es visible en absoluto.
En Chrome, aparecerán ambas alertas, y la redirección solo se produce después de hacer clic en Aceptar para ambas alertas.
¿Hay algún concepto de qué sucede con el código después de la redirección que puede resolver estas diferencias? Si la redirección es asincrónica, ¿qué está haciendo Chrome? Me gustaría entender lo que está sucediendo para poder determinar qué hacer en un escenario más complicado donde una redirección está enterrada profundamente en algunas devoluciones de llamada y otra lógica.
¿Por qué le gustaría hacer algo después de una redirección? – Musa
Todo dependerá del tiempo: una vez que cambie la ubicación, no puede confiar en cuánto tiempo le tomará procesar/procesar/etc. –
@Musa En realidad, no quiero hacer nada después de la redirección, por lo que surgió esta pregunta. Por ejemplo, si se supone que el redireccionamiento ocurre en una devolución de llamada activada desde el código de otra biblioteca, la biblioteca podría ejecutar otras cosas después de que la biblioteca llame a mi devolución de llamada. Pero si solo quiero redirigir la página sin ejecutar esa otra cosa, es posible que deba hacer algo para evitar que continúe de forma normal, dependiendo de lo que los navegadores estén intentando hacer. – user1385729