javascript - 如何在关闭网页时保持计时器运行

标签 javascript jquery html

所以我正在制作一个有点像 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 , thisthis .

注意:此方法不会阻止服务器或客户端上的代码,我认为这是最好的。要使 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/

相关文章:

javascript - 将日期与 where 子句进行比较

javascript - 如何将突出显示的文本从textarea提交到数据库

javascript - 使用 JQuery 显示和隐藏具有多个选项的菜单的子菜单

javascript - 使用 Facebook Graph API 和 JavaScript 上传照片 : convert canvas image to multipart/form-data as POST body?

javascript - 甜蜜的警报。在警告框中显示倒计时

javascript - 使用 javascript 从 html 多选中访问选定的值

javascript - 不允许Jquery按钮提交两次

html - 无法将 html 元素样式设置为透明

html - 打印时在分页处剪切文本

javascript - Angular:如何根据过滤器设置隐藏和显示产品