我的目标是发送Gmail-style desktop notifications在 Chrome 或 Firefox 中,通过当前未在浏览器中打开的 Web 应用程序(我们称之为 X),无需用户安装应用程序或扩展程序。如果用户需要授予权限才能接收来自 X 的通知,也可以,如果需要打开浏览器才能显示通知,只要 X 不需要在浏览器中打开即可。不需要打开任何浏览器窗口的解决方案也可以工作。
我刚刚花了一天时间深入研究这个问题,到目前为止我认为我已经学到了:
- 自 OSX Mavericks 以来,可以通过 Safari Push Notifications 在 Safari 7+ 中执行此操作.
- Web Notifications API适用于 Chrome/Firefox,但要求用户的浏览器对 X 开放。
- Twitter发送类似的网络通知,无需先征求用户许可,但要求用户的浏览器打开 Twitter。
- 有很多可能的引用文献 Growl实现,但据我所知,所有这些都需要用户安装 Growl 和/或支持 Growl 的应用程序才能工作。
我的上述任何陈述都可能是错误的 - 我很想听听! - 我也愿意接受任何其他解决方案。有什么想法吗?
感谢您的阅读。
最佳答案
即使您的网页未处于事件状态,您也可以使用 Service Workers 发送推送通知,Notification API for service workers和 push API用于服务器启动的通知(或 scheduled notifications )。
自 2016 年 6 月起,Chrome、Firefox 和 Opera 均支持 Service Worker。查看状态 https://jakearchibald.github.io/isserviceworkerready/
有关相关讨论、实现状态和规范,请参阅以下链接。
- 服务人员是 enabled by default since Chrome 40 , Firefox 33和 Opera 24。请参阅 HTML5Rocks tutorial和 MDN .
- 推送通知:Chrome 42+ , Firefox 44+
关于google-chrome - 从封闭的网络应用程序在 Chrome 或 Firefox 中发送桌面通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27221203/