2010-05-31 118 views
1

有没有人经历过刷新页面后页面中的javascript仍在运行?据我所知,JavaScript是单线程的,如果刷新页面,它不应该继续运行。即使刷新页面,Javascript仍会继续运行

对于您的信息,我正在实施一个网站的彗星。即使在刷新页面之后,以前请求lpoll保持发布到服务器。

回答

0

刷新页面时,所有内容都会重新加载,包括html dom,javsscript,css等。因此,刷新页面时无法保持它运行。

4

导航有两个阶段,无论导航是跟随链接还是点击“刷新”。

当您第一次启动导航时,页面不会立即死亡。 onbeforeunload事件将触发,并且JavaScript将继续正常运行,包括发送AJAX请求。浏览器发送对新页面URL的HTTP请求并等待回复。

也许服务器会发回一个204 Not Modified响应。在这种情况下,旧页面将继续运行。也许会有一些重定向,随后进一步放缓。无论如何,浏览器收到足够的新HTML页面响应才能开始渲染它可能需要一段时间。

只有然后onunload被解雇,前面的页面被杀害,AJAX和其他任何未解决的请求都会中止,并显示新的页面。此时你的旧脚本肯定不会运行。

+0

很好的解释。但你能给我一些参考吗?你如何知道浏览器的行为如此? – Chao 2016-12-27 13:50:05

相关问题