Нет, Javascript не предназначен для работы в браузере.Как только браузер начинает открывать новый документ, любой код, который еще не был выполнен в старом, останавливается и загружается совершенно новая среда.
Вы можете испытать это на собственном опыте, сначала запустив этот код вконсоль и ожидание:
window.setTimeout(console.log, 5000, 'hi');
Через 5 секунд появится сообщение «Привет».Затем попробуйте это:
function test() {
document.location.href = 'http://www.google.com';
window.setTimeout(console.log, 5000, 'ciao');
}
test();
Gooogle загрузится, и в консоли не будет отображаться сообщение.По сути, ваш код был прерван и не имел доступа к новой странице.