【问题标题】:Add reminders for future date time using html/javascript使用 html/javascript 添加未来日期时间的提醒
【发布时间】:2021-11-02 20:34:04
【问题描述】:

我有一个网络应用程序,我在其中设置了未来日期和时间的提醒,当时间到时它应该通知用户。 我这样做的问题很少 我已将日期时间存储在 oracle 数据库中,并且我希望我的应用程序继续查看它并在遇到时间时触发通知。 将日期时间存储在数据库中是正确的方法吗?还是有其他我们可以轻松触发的方法?我对会话/本地存储并不完全满意。 有人请指导我。

【问题讨论】:

    标签: javascript java html html5-canvas


    【解决方案1】:

    假设您的其他用户数据与它一起存储,则可以将通知保存在 oracle 数据库中。而且您有一个不错的身份验证方法。

    在某些情况下使用 localStorage 是可以的,但可能有点挑战:(用户使用其他浏览器,已激活某种自动删除 localStorage 的互联网安全)

    Cookies 是另一种可变客户端解决方案,但它也存在与 localStorage 相同的一些问题。

    sessionStorage 不是要走的路:只有在标签打开时 sessionStorage 才会保持活动状态

    将通知保留在服务器端,还有一个额外的好处,就是您可以发送其他类型的通知(短信、推送或邮件)

    从 oracle 中提取通知可能看起来像这样: select * from notifications where user_id = :user_id and notify_date between trunc(sysdate) and trunc(sysdate+1)

    如果您想在 JS 中处理日期,并将它们存储在本地存储中:考虑使用 ISO 8601 日期字符串,使用 javascript 日期很快就会变得很痛苦。 (时区/夏令时...等)

    这是一个简单的例子 https://codepen.io/morophix/pen/zYzKMjm

    【讨论】:

    • 但是如何拉才是真正的挑战吧?从 javascript 何时调用数据库来获取通知日期时间。考虑到我使用 localStorage 并想在 9 月 10 日触发通知/提醒,现在我创建了这个对象并存储在 localstorage 中,但它究竟将如何使用本地存储中添加的条目并在 9 月 10 日触发
    • 您无法通过客户端脚本与 oracle 交互,您需要一些服务器逻辑来帮助
    • 对不起,我编辑了我的评论,请参考之前的评论
    • 我已经编辑了答案以包含一个纯 js 解决方案
    • 你也可以考虑使用像 FireBase 这样的框架 - firebase.google.com
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    相关资源
    最近更新 更多