gpt4 book ai didi

javascript - 单击链接后,javascript 何时停止在页面上运行?

转载 作者:可可西里 更新时间:2023-11-01 02:26:54 24 4
gpt4 key购买 nike

我有一个运行各种 javascript 代码的页面,包括调用 setTimeout()。如果用户单击链接导航到另一个页面,该页面上的 javascript 在什么时候停止运行,因此我的 setTimeout 调用的代码将不再被调用?例如

  • 一旦点击链接(我知道这是错误的)
  • 当浏览器开始接收新页面时
  • 还有其他要点吗?

对于不同的主流浏览器,这是否有所不同?

背景

我主要是出于兴趣而不是为了解决任何特定问题而想知道这一点。促使我考虑这个问题的是,当用户单击页面上的特定链接时,我想做一些事情。我想执行 ajax 调用并处理结果,但我不太担心它是否在页面卸载之前完成。所以我会在链接点击时触发一个 setTimeout() ,然后如果我很幸运它会完成但如果我不是它就不会。我想知道它在什么情况下会起作用。虽然该问题可能有其他解决方案,但我不想要问题的解决方案,我只想知道问题的答案。

最佳答案

这是发生的顺序:

第 1 步:您单击一个链接。这里浏览器向服务器发送请求并等待响应。当前页面的文档对象仍然存在。

第二步:浏览器收到响应。当前页面的文档对象仍然存在。

第 3 步:浏览器解析、创建并呈现对新文档对象的响应。

第 3 步是当前页面的 JS 将停止的时间,除非,例如,您已将响应定位到 iframe。如果这样做,新的文档对象将在 iframe 中呈现,当前页面的文档对象保持不变,JS 仍将保持功能。

希望这能回答您的问题!

关于javascript - 单击链接后,javascript 何时停止在页面上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16441119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com