重新加载页面时保持计时器(setInterval)运行

时间:2014-04-12 22:47:21

标签: javascript

加载网页后,我会通过控制台插入一些Javscript。我想知道是否可以使用Javascript或jQuery重新加载页面(而不是从缓存中),同时保持我运行的setInterval。我熟悉location.reload(),但终结了它。

2 个答案:

答案 0 :(得分:6)

当您重新加载页面时,包含所有正在运行的JS的整个页面上下文将被完全销毁。 setInterval()运行。

您可以使用cookie,查询参数或本地存储值(查询参数可能是最合适的)为新页面创建信号以再次启动间隔。如果你这样做,那么你需要对页面进行编码以查找特定的查询参数,如果找到它,那么页面应该开始指定的setInterval()本身。您甚至可以在查询参数中传递一些数据(例如,直到下一个间隔应该触发多长时间等等)。

另一种选择是不实际重新加载页面,而是通过ajax调用获取新内容然后将其插入当前页面来手动刷新内容。这允许当前页面上下文和运行间隔计时器继续运行。

答案 1 :(得分:1)

除非您使用Ajax请求获取页面,否则无法在setInterval工作时替换正文