Подтвердить что ты не робот

Что происходит с кодом после перенаправления javascript (установка window.location.href)?

У меня есть следующий код переадресации javascript, за которым следует еще один код.

window.location.href = '/someurl';
alert('hello');
alert('hello again');

Это приводит к непоследовательности браузера.

В firefox первое предупреждение отображается в течение секунды секунды перед переадресацией. Второе предупреждение не отображается вообще.

В chrome появятся оба предупреждения, а перенаправление произойдет только после нажатия ok для обоих предупреждений.

Есть ли какое-то понятие о том, что происходит с кодом после перенаправления, которое может разрешить эти различия? Если перенаправление является асинхронным, то что делает хром? Я хотел бы понять, что происходит, чтобы я мог определить, что делать в более сложном сценарии, когда перенаправление хранится глубоко внутри некоторых обратных вызовов и другой логики.

4b9b3361

Ответ 1

Браузер попытается выполнить код после window.location.href = 'url', пока страница не перейдет к следующему веб-адресу, поэтому количество строк кода, которое будет выполняться, зависит от скорости браузера

Ответ 2

Сессия Javascript будет пытаться продолжить миссию перед лицом надвигающейся гибели. Кодирование таким образом считается непредсказуемым.... и жестоко.