我在Pusher
应用中使用Rails
的新手。
一切正常,我现在可以订阅频道并收到JSON
消息。
但我想制作一个按钮,我可以取消订阅特定频道。
我试过这个
<button onclick="unsubscribe_channcel('test_channel')">Unsubscribe</button>
<script>
function unsubscribe_channcel(channelName) {
var pusher = new Pusher('APP KEY');
pusher.unsubscribe(channelName);
};
</script>
但它不起作用。如果我在调试控制台中查看,当我按下按钮时,所有发生的事情就是它建立了一个新连接并且我一直接收来自&#34; test_channel&#34;的消息。
答案 0 :(得分:1)
您需要取消订阅您订阅频道的Pusher
对象的同一个实例上的频道,例如
<button onclick="subscribe_channel('test_channel')">Subscribe</button>
<button onclick="unsubscribe_channel('test_channel')">Unsubscribe</button>
<script src="http://js.pusher.com/2.2/pusher.min.js"></script>
<script>
Pusher.log = function(msg){
console.log(msg);
};
var YOUR_APP_KEY = "1afb3f8f61eb29da86df";
var pusher = new Pusher(YOUR_APP_KEY);
function subscribe_channel( channelName ) {
pusher.subscribe( channelName );
}
function unsubscribe_channel(channelName) {
pusher.unsubscribe(channelName);
}
</script>
您可以在此处找到此代码的有效示例:http://jsbin.com/camul/1/edit?html,console,output