在网站中运行后台流程

时间:2018-02-15 06:17:11

标签: service-worker web-notifications

我对用户访问网站时运行后台流程感兴趣。我的问题非常广泛,例如我希望每分钟左右轮询一次JSON API,并在JSON API的响应发生变化时随时向用户发送Web通知。服务人员可以这样做吗?我怎么能做到这一点?

如果可以,那么我是否可以在服务工作者中运行WebAssembly文件,以便即使网站未打开也能运行应用程序?

或者我可以运行服务工作者来获取最新版本的网站并将其缓存,以便网站在下次访问时立即加载?

1 个答案:

答案 0 :(得分:1)

在用户访问网站后,无法注册持续无限期运行的后台进程。

访问网站时可以注册服务人员。服务工作人员大多数时间都不会运行,但可以被传入的push notification之类的事件“唤醒”,即使用户当前没有与您的网络应用程序关联的页面打开。

按照设计,当服务工作者以这种方式被唤醒时,它只会在终止之前运行一小段时间。对用户也应该show a notification让他们知道正在发生的事情。通过push事件唤醒但未显示通知的服务工作人员可能会被浏览器禁用。