Meteor发送给活跃用户

时间:2014-02-24 06:32:11

标签: javascript jquery node.js meteor meteorite

我从编写meteorjs网页开始。我从排行榜的例子开始。这非常有效。我添加了一些新功能。我添加了一个jquery通知脚本。 (Noty http://ned.im/noty/

当我给一个人五分时,使用此代码激活Noty插件

var n = noty({text: txt,timeout: 2000});
......
Template.leaderboard.events({
    'click input.inc': function () {
      Players.update(Session.get("selected_player"), {$inc: {score: 5}});
      notje("Er heeft iemand een score gegeven");
      Method.call("callHouse");
    },

通知只会显示给我的浏览器,而不会显示给其他用户。如何向所有活动用户使用通知。 用户 - >服务器 - >所有用户

我希望你能帮我解决这个问题

1 个答案:

答案 0 :(得分:3)

您必须创建通知集合(客户端和服务器):

notifications = new Meteor.Collection("notifications");

然后在那里插入您的信息并使用观察手柄显示它。确保添加特定于用户的内容,以便您可以使用较小的用户子集。并确定何时使用并将其标记为已准备好,以便它们不再发布,用户不会继续接收它们。

然后你可以在你的客户端做这样的事情:

Meteor.startup(function() {
    notifications.find().observe({
        added: function(doc) {
            //Message can be contained in doc.txt

            //Not sure if this bit is right, but basically trigger the notification:
            n = noty({text: doc.txt,timeout: 2000});
        }
    });
});

希望这能让你对如何做到这一点有一个粗略的了解。