我试图听一个特定的事件类型而不管它被触发的频道。我对文档(http://pusher.com/docs/client_api_guide/client_events#bind-events/lang=js)的理解是我可以通过调用pusher实例上的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);
然后我在帐户门户中使用了Event Creator工具来生成一个事件。我使用随机通道名称,将事件设置为“新注释”,然后将一些随机文本放入事件数据中。但是,我的控制台中没有显示任何内容。
我正在使用https://d3dy5gmtp8yhk7.cloudfront.net/2.1/pusher.min.js,并在最新的Chrome中执行此测试。
我错过了什么?
谢谢!
Shaheeb R。
答案 0 :(得分:0)
如果该客户已订阅该频道,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);
});