我是Pusher的新手,目前在尝试从一个简单的JS Web客户端发送数据时遇到错误,并且我想弄清楚这是代码错误还是浏览器问题(我怀疑是浏览器问题)。发生的事情是,我使用一个简单的Perl脚本通过Pusher服务将文本消息发送到在FireFox 23.0.1中运行的Web客户端。消息已正确接收(是!),但是当我尝试发送返回消息时,在“ pusher.min.js(第65行)”处出现“未捕获的异常:[object Object]”错误,其中出现了Pusher库代码它试图创建一个Flash对象...
uncaught exception: [object Object]
...try{return Boolean(new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))}catch(a){...
该代码是Pusher网站上许多JS演示的略微变化...
<!DOCTYPE html>
<head>
<title>Pusher Test</title>
<script src="http://js.pusher.com/2.1/pusher.min.js" type="text/javascript"></script>
<script type="text/javascript">
// Enable pusher logging - don't include this in production
Pusher.log = function(message) {
if (window.console && window.console.log) {
window.console.log(message);
} //end if
}; //end function
var channelName='test_channel';
var eventName='status_update';
var pusher = new Pusher( [AppID removed] );
var channel = pusher.subscribe(channelName);
var callback = function(data) {
// add comment into page
alert(data);
console.log(data);
var triggered = channel.trigger(channelName, {data:"hello yourself"});
}; //end callback
pusher.bind(eventName, callback);
</script>
</head>
已安装并启用Flash(版本11.8.800.168)。
代码正确还是我在做一些愚蠢的事情?如果代码正确,那么有人对我如何解决此问题有想法吗?
最佳答案
只需将status_update更改为client-status_update。
客户端事件必须以client-为前缀。具有任何其他前缀的事件将被Pusher服务器拒绝,发送到未订阅客户端的频道的事件也会被拒绝。
http://pusher.com/docs/client_api_guide/client_events
关于javascript - 使用Pusher库从JS Web客户端生成异常发送数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21438089/