从Service Worker发送通知是否有权限

时间:2017-09-27 20:25:24

标签: javascript notifications service-worker

我遇到以下问题:我正在使用Notification API向用户发送通知的Web应用程序。这些通知是从Service Worker发送的,因为我们需要从服务器获取数据。

我已经检查过Notification对象在SW上下文中没有permission属性。我的疑问是:有没有办法检查应用程序是否有权在SW上下文中发送通知?

1 个答案:

答案 0 :(得分:0)

据我所知,不,你不能通过像Notification这样的API(在窗口上下文中)明确检查用户是否已授予权限。

你可以做的是:

  • 当用户授予权限时,将该信息存储到Caches或IndexedDB;检查当您想要显示通知时(这些存储在窗口和SW中都可用)
  • 当您想要显示通知时,请询问该页面是否已授予用户权限;你会通过postMessage API做到这一点,你必须在页面和SW中注册一个监听器