用户在网站上时,可以使用服务工作者显示通知吗?

时间:2018-07-27 08:19:48

标签: javascript push-notification service-worker

我有一个网站,我在该网站上注册了用于推送通知的服务人员。有两种情况显示即将发生的通知:

  • 用户不在网站上,但浏览器已启动:服务人员处理事件并显示通知。

  • 用户位于网站上:网站处理接收通知的事件并显示该事件。

即使用户在网站上,服务工作者也可以始终处理事件吗?如果可能的话,怎么办?

这是为了不向我的每个网站页面添加事件处理程序。

谢谢您的澄清,

2 个答案:

答案 0 :(得分:1)

  

即使用户在网站上,服务人员也可以始终处理该事件吗?

是的,它们可以运行,而与浏览器当前打开的页面无关,或者根本不打开浏览器。它们仅取决于浏览器的后台线程来运行,该后台线程通常总是在客户端运行时运行。

答案 1 :(得分:1)

我在那儿找到了一个辅助器:https://developers.google.com/web/ilt/pwa/introduction-to-push-notifications#handling_the_push_event_in_the_service_worker

push event是服务工作者需要处理以便随后显示推送通知的事件。

这样做,即使Web应用程序处于焦点状态,服务工作者也将“看到”推送消息。