Генерация исключения отправки данных из веб-клиента JS с помощью библиотеки Pusher

Я новичок в Pusher и в настоящее время сталкиваюсь с ошибкой при попытке отправить данные из простого веб-клиента JS, и я пытаюсь понять, является ли это ошибкой кода или проблемой браузера (я подозреваю, проблема с браузером). Что происходит, так это то, что я использую простой сценарий Perl для отправки текстового сообщения через службу Pusher веб-клиенту, работающему в FireFox 23.0.1. Сообщение получено правильно (да!), но когда я пытаюсь отправить ответное сообщение, я получаю сообщение об ошибке «uncaught exception: [object Object]» в «pusher.min.js (строка 65)», где появляется код библиотеки Pusher. он пытается создать объект Flash...

uncaught exception: [object Object]
...try{return Boolean(new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))}catch(a){...

Код представляет собой небольшую вариацию нескольких демонстраций JS с сайта Pusher...

<!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) установлен и включен.

Код правильный или я делаю что-то глупое? Если код правильный, кто-нибудь знает, как обойти эту проблему?


person Rick Sarvas    schedule 29.01.2014    source источник
comment
Как вы это решили?   -  person Fernando Santiago    schedule 09.06.2014


Ответы (1)


Просто измените status_update на client-status_update.

Клиентские события должны начинаться с префикса client-. События с любым другим префиксом будут отклонены сервером Pusher, как и события, отправленные на каналы, на которые клиент не подписан.

http://pusher.com/docs/client_api_guide/client_events

person griable    schedule 05.11.2014