it-swarm.dev

通过封闭的网络应用在Chrome或Firefox中发送桌面通知?

我的目标是在Chrome或Firefox中从网络应用程序(我们称之为X)发送 Gmail风格的桌面通知 当前未在浏览器中打开,而无需用户安装应用程序或扩展程序。如果用户需要授予从X接收通知的权限,这是可以的,只要浏览器需要打开才能显示通知,只要X不需要在浏览器中打开就可以了。不需要打开任何浏览器窗口的解决方案也可以使用。

我只是花了一天时间挖掘这个,到目前为止我 想想 我已经学会了:

  • 自OSX Mavericks以来,可以通过 Safari推送通知 在Safari 7+中执行此操作。
  • Web Notifications API 适用于Chrome/Firefox,但要求用户的浏览器对X开放。
  • Twitter 发送类似的网络通知,而不先询问用户权限,但要求用户的浏览器对Twitter开放。
  • 有很多可能的参考 Growl implementation,但据我所知,所有这些都需要用户安装Growl和/或支持Growl的应用程序才能工作。

我上面的任何陈述都错了 - 我很乐意听到它! - 我也对任何其他解决方案持开放态度。有任何想法吗?

谢谢阅读。

58
user1544138

即使您的网页未处于活动状态,您也可以发送推送通知 服务工作者服务工作者的通知API推送API 用于服务器发起的通知(或 预定通知) )。

截至2016年6月,Chrome,Firefox和Opera均支持服务工作者。查看状态 https://jakearchibald.github.io/isserviceworkerready/

有关相关讨论,实施状态和规格,请参阅以下链接。

73
Rob W

您可以使用W3C 推送API 来完成您正在寻找的内容。

如果你想从头开始构建一切,我建议你开始阅读 Google的这个教程 。它适用于Chrome,但Firefox以 非常类似的方式工作

然而,这是很多工作,“标准”仍在不断发展:我建议您使用像 Pushpad这样的服务 (我是创始人)。

1
collimarco