2014-10-28 30 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 2014-10-28 15:51:56

+0

在borwser中调试你的处理程序。或者在处理程序的每一行之后放置console.log()。例如:console.log('composing ='+撰写); etc. – 2014-10-28 16:11:35

+0

@Spokey缺少什么?消息被发送和接收。与受访者通知打字聊天。但要获得打字通知不起作用。 – Alex 2014-10-28 16:45:12

回答

1

您需要解析onNotificationReceived(msg)

var msg = $.parseXML(msg); 

响应XML和我认为你的意思

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

哦,没有。 通知没有来,只有消息 – Alex 2014-10-28 20:05:32

+0

@AlexV有什么错? – Spokey 2014-10-28 22:07:23

+0

完整脚本http://sitechat.ru/tests/chat1 – Alex 2014-10-30 00:54:00