【问题标题】:Can I Send a Web Notification on a Specific Time?我可以在特定时间发送 Web 通知吗?
【发布时间】:2018-04-30 08:42:18
【问题描述】:

我正在尝试实现不需要显示后端交互的通知。这样做的用途是放置一个提醒我按钮,该按钮将在一天中的特定时间(用户指定)发送通知。我对服务人员很陌生,但我知道他们是异步工作的。话虽如此,有什么方法可以让我做类似下面的伪代码?

function timeLeft(time){
    setTimeout(() => showNotification(), time);
}

如果我将它放在一个常规的 javascript 文件中并且用户仍然打开浏览器,这将起作用。

它不需要完全一样,它只需要解决我的问题。提前谢谢你。

【问题讨论】:

    标签: javascript push-notification notifications service-worker web-notifications


    【解决方案1】:
    1. 首先,您需要为每个浏览器设置一个 ID。如果您使用 Push API,则可以使用浏览器端点。
    2. 当用户添加提醒时,您必须将元组 (endpoint, send_at,reminder) 存储在您服务器上的数据库中
    3. 在您的服务器上运行 cron 作业(或使用 Sidekiq 等创建计划作业)以便在正确的时间发送提醒(使用 Push API)

    否则,您可以使用允许您创建预定通知的服务:我的博客上的see this example

    【讨论】:

    • 您好,欢迎来到 Stack Overflow!请注意,如果您想推广或推荐自己的产品/博客,有一些 guidelines in place 可以这样做。关注它们将帮助您避免给人留下垃圾邮件的印象。您能否请edit 明确说明您的隶属关系?谢谢。 (如果您实际上没有隶属关系,则可能也值得一提。)
    • @DavidPostill 我已经更新了答案以明确从属关系。
    猜你喜欢
    • 2015-09-15
    • 2022-10-25
    • 1970-01-01
    • 2018-07-19
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 2015-02-07
    相关资源
    最近更新 更多