javascript - 如何在没有后端服务器的情况下在 24 小时后触发桌面通知?
问题描述
假设:
- 用户已允许在我的网站上发出通知。
- Service Worker 已安装并准备就绪。
- 用户设置从现在起 24 小时后提醒的客户端提醒。
- 没有后端服务或服务器将通知推送给用户。
如果没有后端服务器推送通知,我如何触发桌面通知?这可能吗?
如果提供超时/间隔并且web-alarm/task-scheduler 规范尚未准备好使用,则服务工作者将被浏览器关闭。是否没有客户端唯一的方法来在未来某个指定时间触发通知?
是否有严格意义上不是“推送通知”的桌面通知?推送通知本质上是从服务器推送的。可以从客户端触发通知吗?
解决方案
我不相信在这个时候这是可能的。
推送通知在RFC8030中指定,来自其摘要:
本文档描述了一个用于向用户代理传递实时事件的简单协议。该方案使用 HTTP/2 服务器推送。
这意味着需要支持 HTTP/2 推送的服务器。
我确实喜欢对 Javascript 大喊大叫,而且我似乎无法找到在浏览器中运行的 HTTP2 服务器的 Javascript 实现(有用于节点),这对我来说是一种耻辱,而且模拟起来很棒关于。
所以,为了名利,http2-server.js 不见了。
推荐阅读
- redirect - 如何修复 Google Search Console 上的“重定向错误”
- c - 将小块数据写入闪存页面
- docker - Calico for policy 和 flannel 在 kubeadm (k8s -v1.22.3) 中不起作用,calico-kube-controllers 未准备好 (CrashLoopBackOff)
- java - 使用地图列表创建合并地图
- php - 如何在 Laravel Nova 中使用电子邮件发送文件?
- git-alias - 参数不工作的 git log 别名
- linked-list - 从链表中删除元素
- javascript - 我该如何解决这个问题?TypeError:无法在 react.js 中读取未定义的属性(读取“地图”)
- c# - 将特定数据从 OnPrem (SQL DB) 迁移到 Azure (SQL DB)
- javascript - 如何在js中实现类绑定