关闭网页时如何使计时器保持运行

时间:2015-08-17 05:21:55

标签: javascript jquery html

所以我制作的网络应用有点像adVenture Capitalist。我的问题是:即使我关闭网页,有没有办法让功能持续运行?例如,让我们说,我有5个硬币,并且有一个功能每小时增加5个硬币。我退出页面(关闭浏览器)并在5小时后返回该页面。从我的初始硬币值5加上五小时的25硬币总计将有30个硬币。

我在某种程度上只知道Javascript,HTML,PHP和jQuery,所以如果可以的话请将它限制在那些语言中。但是,如果有更好或更快的解决方案使用其他语言,请告诉我。谢谢大家:)

3 个答案:

答案 0 :(得分:1)

您可以使用第三方计划服务来完成此操作。如果您可以发出外部HTTP请求,我建议您使用SaturnAPI中的Cron。它是一个RESTful API,您可以安排回调到您的域

p

您必须注册才能获得API访问密钥并验证您的回调域。它根据moment.js接受各种时间格式。

对于PHP,有许多选项可以发出HTTP POST请求,例如thisthisthis

注意:此方法不会阻止服务器或客户端上的代码,我认为这是最好的。要使cron作业重复出现,只需在回调发生时再发出一个HTTP请求。如下所示,Cron作业也可以在执行前取消。

curl -X POST \
  https://saturnapi.com/cron/jobs \
    -H saturnapi-access-key:'YOUR_SATURNAPI_ACCESS_KEY' \
    -d dateTimeUTC='2015:09:25 14:30' \
    -d dateTimeFormat='YYYY:MM:DD HH:mm' \
    -d callbackURL='https://your.verified.domain.com' \

披露:我为SaturnAPI工作

答案 1 :(得分:1)

如果不采取任何用户操作,则无需保持计时器运行(即:当用户甚至不在页面上时)。如果你在计时器中有一些随机因素,那么只要用户回来就做X次。

为了简单起见,只需要持久保存一个信息:最后一次“页面卸载”的分数和完整日期。在完成适当的功能测试后,它可以保存在本地存储中,但在服务器端更安全。对于桌面Web应用程序,我更喜欢服务器端存储,因为有许多用户定期删除本地文件。

我希望这有帮助并祝你好运!

答案 2 :(得分:0)

那里有fullstack所说的以及运行php脚本而忽略用户中止设置为false。只要文件循环,它应该在所有密集的目的继续运行。

Source