У меня есть страница, которая запускает различные javascript-коды, включая вызов setTimeout()
. Если пользователь нажимает ссылку для перехода на другую страницу, то в какой момент javascript на этой странице перестает работать, и поэтому мой код, вызываемый setTimeout, больше не будет вызываться? например.
- как только будет нажата ссылка (я знаю, что это неправильно)
- когда браузер начинает получать новую страницу
- какая-то другая точка?
И отличается ли это от разных основных браузеров?
Фон
Я хочу знать это в основном ради интереса, а не для решения какой-либо конкретной проблемы. Проблема, побудившая меня задуматься над этим, - это что-то сделать, когда пользователь нажимает на определенную ссылку на странице. Я хочу выполнить вызов ajax и обработать результат, но я не слишком обеспокоен тем, что он заканчивается до того, как страница будет выгружена. Поэтому я запустил setTimeout() на ссылку, а затем, если мне повезет, она закончит, но если я не буду, это не произойдет. Я задавался вопросом, в каких обстоятельствах это будет работать. Хотя могут быть другие решения этой проблемы, я не хочу решений проблемы, я хочу только знать ответ на вопрос.