接受网络通知后,网站在浏览器没有打开该网站的标签时可以发送通知吗?

Posted

技术标签:

【中文标题】接受网络通知后,网站在浏览器没有打开该网站的标签时可以发送通知吗?【英文标题】:After accepting web notifications, can a website send notifications when browser has no tab open of this website? 【发布时间】:2020-08-14 22:41:12 【问题描述】:

我正在阅读the Web notification API,我想像在 iosandroid 上一样发送通知(例如:You have 7 new messages)。

考虑到我已接受来自www.my-foobar-super-site.com 的通知,我是否可以在授权来自它的通知后,当该用户没有打开此网站的标签时,我的网站是否可以向该用户发送 Web 通知?

【问题讨论】:

【参考方案1】:

网站接受网络通知后,浏览器没有打开本网站的标签时,是否可以发送通知?

是的,但不仅仅是用户授予通知权限。

Web Notifications API 只关心在屏幕上显示来自用户计算机上已经运行的脚本的消息,它与“推送通知”或传递无关。

要将“推送”消息发送到用户的浏览器,您需要使用 the separate Push API - 并运行 Service Worker 以接收来自您的服务的消息(通过推送 API)并且只有这样 你的脚本能否使用 Notifications API 来显示通知消息。

【讨论】:

对于那些正在寻找具有简约代码示例的教程的人,tutorial、demo、github【参考方案2】:

可以,只要您注册了 Service Worker。

【讨论】:

以上是关于接受网络通知后,网站在浏览器没有打开该网站的标签时可以发送通知吗?的主要内容,如果未能解决你的问题,请参考以下文章

当网站关闭时,推送通知如何在每个浏览器上工作?

为啥网站下载的vpn文件苹果手机打不开

这个网站怎么知道我正在打开另一个标签?

当用户浏览网站时,我将如何在网站上继续播放音乐?

如何在打开新标签时总是切换到新标签页?

打开uc后无论打开啥网站都显示网络安全证书有问题,之前没遇到过,