我有一个运行各种 javascript 代码的页面,包括调用setTimeout()
. 如果用户单击链接导航到另一个页面,该页面上的 javascript 在什么时候停止运行,因此我的 setTimeout 调用的代码将不再被调用?例如
- 单击链接后(我知道这是错误的)
- 当浏览器开始接收新页面时
- 还有一点?
这对于不同的主要浏览器有什么不同吗?
背景
我想知道这主要是出于兴趣,而不是为了解决任何特定问题。促使我思考这个问题的问题是,当用户单击页面上的特定链接时,我想做一些事情。我想执行一个 ajax 调用并处理结果,但我不太担心它是否在页面卸载之前完成。所以我会在链接点击时触发一个 setTimeout() ,然后如果我很幸运它会完成,但如果我不是它不会。我想知道它在什么情况下会起作用。虽然该问题可能有其他解决方案,但我不想解决问题,我只想知道问题的答案。