无论页面如何,Javascript在后台运行功能

时间:2013-04-17 09:39:06

标签: javascript background

我需要定期运行一个函数,无论我在哪个页面。这个函数会定期得到一些数据。

我认为这不起作用:

function myFunc()
{
    //your code
}

//set the interval

setInterval(myFunc,2000) //this will run the function for every 2 sec.

因为它仅适用于我现在所在的页面,所以如果我转到另一页面,则不再执行该功能。 我想写一个函数,当用户在索引页面时开始运行,然后定期调用,直到用户关闭页面。 任何的想法?提前谢谢!

3 个答案:

答案 0 :(得分:2)

浏览器中的javascript无法实现。当您离开页面时,脚本将停止。您必须在每个初始化此定期更新的页面上包含一个脚本。或者您可以将应用程序重写为“单页面应用程序”,这在当今很流行。

答案 1 :(得分:1)

您需要backend applicationcron-job来执行此操作。

另一种方法是创建一个仅限Ajax的单页面应用程序。我想twitter会使用那个模型。

答案 2 :(得分:1)

根据您在函数中的操作,您可能最好使用JS Worker作为新线程运行,并允许您在后台继续处理,而不必担心JS超时。< / p>

除非你使用类似于jquery的东西并动态地将你的页面加载到div中,否则这里的要点是你要求的接近不够的。这意味着您仍然具有更改页面的效果(视觉上),但浏览器仅加载数据。

实际上很容易使用jQuery将内容加载到DIV中:

$('#elementoloadid").load("/path/to/load");

你可以在不使用jQuery的情况下实现这一目标,但需要更长的时间。