Stack Overflow桌面通知是如何工作的?

15
也许这是一个相当宽泛和模糊的问题:
在Stack Overflow聊天室中,有一个“启用桌面通知”的按钮,当有人回复您时,系统托盘会显示某些东西。
这是通过什么机制实现的?这一直让我很好奇。
一个网站如何访问系统托盘?

11
每个浏览器都实现了这个功能,它被称为“桌面通知”。这里有一个 mozilla 的链接和一个 chrome 的链接。 - Lix
这是Safari - AstroCB
3个回答

16
它使用Notification对象(即var n = new Notification("Hello");)在每个网站的基础上提供本地通知。每个浏览器以不同的方式实现标准(请参见ChromeFirefoxSafari),但它们的操作方式基本相同,根据它们拥有的权限(window.Notification.permission)发送通知,这些权限可以是default(还没有被要求,此时您将window.Notification.requestPermission();),granteddenied。Opera和Internet Explorer目前不支持桌面通知。

6
他们被称为桌面通知,使用通知 API。基本上,网站检查是否支持通知 API,然后用户授予或拒绝网站显示通知的权限。
这里有更多信息关于API的工作原理。

1
这是通过WebSockets - Web APIs实现的。实际上,客户端和服务器之间存在持久连接。双方也可以随时开始发送数据。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接