问题 Stack Overflow桌面通知如何工作?


也许这是一个相当大且含糊不清的问题:

在Stack Overflow聊天室中,有一个“启用桌面通知”按钮,当有人回复您时,它会在系统托盘中显示某些内容。

通过什么机制这起作用?这总是让我很好奇。

网站如何访问系统托盘?


2483
2018-05-11 15:44


起源

每个浏览器实现这个。该功能称为“桌面通知”。这是一个链接 Mozilla浏览器 这是一个 铬。 - Lix
这里的 苹果浏览器 - AstroCB


答案:


它使用了 Notification 对象(即 var n = new Notification("Hello");)以每个网站为基础提供本地通知。每个浏览器以不同方式实现标准(请参阅 火狐,和 苹果浏览器),但它们都基本上以相同的方式运行,根据他们的权限发送通知(window.Notification.permission),这可以 default (没有被问到,在这种情况下你会 window.Notification.requestPermission();granted, 要么 denied。 Opera和Internet Explorer目前不支持桌面通知。


11
2018-05-11 18:21





它们被称为桌面通知,它使用 通知API

基本上,站点检查Notifications API支持,然后用户授予或拒绝网站显示通知的权限。

这是 更多信息 关于API如何工作。


4
2018-05-11 17:24





这是借助于 WebSockets - Web API。客户端和服务器之间实际上存在持久连接。并且双方都可以随时开始发送数据。


0
2017-10-15 04:54