2014-10-28 3 views
1

Я пытаюсь получить уведомление при наборе текста.Strophe.js Полученное уведомление (состав)

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script type="text/javascript" src="/js/strophe.min.js"></script> 

connection.addHandler(onNotificationReceived, null, "message", "chat", null, null); 

function onNotificationReceived(msg) 
{ 

    var composing = $(msg).find('composing'), 
     paused = $(msg).find('paused'), 
     active = $(msg).find('active'), 
     jid = $(msg).attr('from'); 

     if (composing.length > 0) 
     { 
      $('.chat-feedback').css('display', 'block'); 
      alert(1); 
     } 

     if (paused.length > 0) 
     { 
      $('.chat-feedback').css('display', 'none'); 
      alert(2); 
     } 

     if (active.length > 0) 
     { 
      $('.chat-feedback').css('display', 'none'); 
      alert(3); 
     } 

    return true; 
} 

Но он не работает :(

Пожалуйста, помогите!


PS. Сomplet е сценарии http://sitechat.ru/tests/chat1/

+0

Где вы строите связь? Вы, кажется, здесь не хватает многих вещей, можете ли вы показать полный сценарий? – Spokey

+0

Отладка вашего обработчика в borwser. Или поставьте console.log() после каждой строки в обработчике. Например: console.log ('composing =' + composing); и т.д. –

+0

@Spokey Что не хватает? Сообщения отправляются и принимаются. Опрашиваемый уведомляется о вводе чата. Но получить уведомление о вводе не работает. – Alex

ответ

1

Вам нужно разобрать ответ как XML в onNotificationReceived(msg)

var msg = $.parseXML(msg); 

И я думаю, что вы имели в виду

jid = $(msg).find('message').attr('from'); 
+0

О, нет. Уведомление не поступало, только сообщения – Alex

+0

@AlexV что-то не так? – Spokey

+0

полный скрипт http://sitechat.ru/tests/chat1 – Alex

Смежные вопросы