15

也许这是一个相当大且模棱两可的问题:

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

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

网站如何访问系统托盘?

4

3 回答 3

16

它使用Notification对象(即var n = new Notification("Hello");)在每个网站的基础上提供本地通知。每个浏览器都以不同的方式实现标准(参见ChromeFirefoxSafariwindow.Notification.permission),但它们的操作方式基本相同,根据它们拥有的权限发送通知default(将window.Notification.requestPermission();) granted、 或denied. Opera 和 Internet Explorer 目前不支持桌面通知。

于 2014-05-11T18:21:07.947 回答
6

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

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

以下是有关 API 工作原理的更多信息

于 2014-05-11T17:24:32.360 回答
1

这是在WebSockets-Web API的帮助下完成的。客户端和服务器之间实际上存在持久连接。而且双方也可以随时开始发送数据。

于 2015-10-15T04:54:45.303 回答