所以我正在制作一个有点像 adVenture Capitalist 的网络应用程序。我的问题是:有没有办法让某个功能即使在关闭网页时也能持续运行?例如,假设我有 5 个硬币,并且有一个功能每小时添加 5 个硬币。我退出该页面(关闭浏览器)并在 5 小时后返回该页面。我的初始硬币值(value) 5 加上这 5 个小时的 25 枚硬币,总共为 30 枚硬币。
我只在一定程度上了解 Javascript、HTML、PHP 和 jQuery,所以如果可以的话请将其限制为这些语言。但是,如果使用其他语言有更好或更快的解决方案,请告诉我。谢谢大家:)
最佳答案
您可以使用第三方调度服务来完成此操作。如果您可以发出外部 HTTP 请求,我建议使用 SaturnAPI 中的 Cron 。这是一个 RESTful API,您可以像这样安排对您的域的回调
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' \
您必须注册才能获取 API 访问 key 并验证您的回调域。它根据moment.js接受多种时间格式。 。
对于 PHP,有很多选项可以发出 HTTP POST 请求,例如 this , this和 this .
注意:此方法不会阻止服务器或客户端上的代码,我认为这是最好的。要使 cron 作业重复出现,只需在回调发生时发出另一个 HTTP 请求即可。 Cron 作业也可以在执行之前取消,如下所示。
curl -X DELETE \
https://saturnapi.com/cron/jobs/YOUR_JOB_ID \
-H saturnapi-access-key:'YOUR_SATURNAPI_ACCESS_KEY' \
披露:我为 SaturnAPI 工作
关于javascript - 如何在关闭网页时保持计时器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32043262/