如何更新网页以响应推送通知?

Posted

技术标签:

【中文标题】如何更新网页以响应推送通知?【英文标题】:How to update a web page in reaction to a push-notification? 【发布时间】:2018-06-29 09:17:13 【问题描述】:

我正在探索 Node.js 中的推送通知世界并且有一个问题。

按照一些教程,我现在有一个小应用程序会触发一些通知,并且这些通知会按预期在我的网络浏览器中弹出。

问题来了:

是否可以更新我网页中的字段,而不是弹出通知? (例如:时钟或计数器)

如果答案是肯定的,我该怎么做?我需要更换服务人员吗?客户端?还是什么?

这是当前代码:

   const SECS = 5 * 1000;
   let rankVal = 0, counterVal = 1;
   const notificationLoop = setInterval(() => 
        let currentDate = new Date(),
        timeLag = (currentDate-referDate)/1000
        const payload = JSON.stringify(
            title:'Event is reached!',
            timeLag:timeLag.toString()
        );

        webPush.sendNotification(subscription,payload).catch(err => console.error(err));
        console.log('-- setInterval --' + counterVal + ' : ' + rankVal);

        if (counterVal>262144) clearInterval(notificationLoop);

        rankVal += 1
        counterVal *= 2

    , SECS);

【问题讨论】:

【参考方案1】:

看看 pusher,应该做你想做的事: https://pusher.com

注意,您也可以将推送器用于弹出窗口和其他内容,但主要是如果其他人同时使用该网站等,它对于跟踪字段和更改数据非常有用。

【讨论】:

感谢您的建议,我快速浏览了这个 pusher.com;我创建了一个帐户,那里似乎有很多东西要学。但如果我能得到我需要的东西,我会很高兴,而不必去挖掘一个全新的世界。 那么,事件侦听器就是您要寻找的东西。但与普通的 javascript 相比,这完全是一个新世界。但是您总是可以作为一种更简单且更懒惰的方法(到目前为止还没有那么好)创建一个 javascript 来不时检查数据是否已更改,如果更改 - 替换 - 如果没有,请等到下一次刷新。如果这是一个选项,请告诉我。我确实有一些示例代码。 嗯,我想这对我来说更好,因为我已经有一些东西可以与客户和服务人员一起工作。就是这样,因为我的经验非常有限,以至于我还不知道如何使用我所拥有的。 setInterval(function() $(document).ready(categoriesSpinner); $(document).ready(categories); $(document).ready(specificFaultsSpinner); $(document).ready (specificFaults); $(document).ready(timeOfRefresh); setTimeout(function() console.log('每分钟刷新一次数字。') , 15000); , 60000);用你可能创建的任何 api 函数替换这些函数,然后你就很好了。 我应该保留“$(document).ready(.....);”零件,它们出现的方式或应该用其他东西代替它们的方式?

以上是关于如何更新网页以响应推送通知?的主要内容,如果未能解决你的问题,请参考以下文章

GCM 推送消息以在前台更新 UI 并在后台发布通知。如何实施?

如何以编程方式确定推送通知状态?

Apple Watch - 如何安排并发症更新以与推送通知同步?

iPhone 推送通知 - 错误响应问题

passkit - 通过推送通知传递不刷新。 (服务器响应格式错误)

如何跟踪用户以获取基于位置的推送通知?