我正在尝试侦听特定的事件类型,而不管它是在哪个通道中触发的。我对文档 (http://pusher.com/docs/client_api_guide/client_events#bind-events/lang=js) 的理解是,我可以通过在推送器实例而不是通道实例上调用 bind 方法来做到这一点。这是我的代码:
var pusher = new Pusher('MYSECRETAPPKEY', {'encrypted':true}); // Replace with your app key
var eventName = 'new-comment';
var callback = function(data) {
// add comment into page
console.log(data);
};
pusher.bind(eventName, callback);
然后,我使用帐户门户中的事件创建器工具生成事件。我使用了一个随机频道名称,将事件设置为"新评论",然后只是在事件数据中加入一些随机文本。但是,我的控制台中没有出现任何内容。
我正在使用 https://d3dy5gmtp8yhk7.cloudfront.net/2.1/pusher.min.js,并在最新的Chrome中执行此测试。
我错过了什么?
谢谢!
沙希布·
Pusher 只会在客户端订阅频道时向客户端发送事件。因此,您需要做的第一件事是订阅频道。绑定到客户端上的事件:
pusher.bind('event_name', function( data ) {
// handle update
} );
这也称为"全局事件绑定"。
我已经使用此代码对此进行了测试,它确实有效:http://jsbin.com/AROvEDO/1/edit
为了完整起见,以下是代码:
var pusher = new Pusher('APP_KEY');
var channel = pusher.subscribe('test_channel');
pusher.bind('my_event', function(data) {
alert(data.message);
});