收到 Strophe.js 通知(正在撰写)

Posted

技术标签:

【中文标题】收到 Strophe.js 通知(正在撰写)【英文标题】:Strophe.js Notification Received (Composing) 【发布时间】:2014-10-28 15:39:54 【问题描述】:

我正在尝试在输入时收到通知。

<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。 完整脚本http://sitechat.ru/tests/chat1/

【问题讨论】:

你在哪里建立连接?您似乎在这里遗漏了很多东西,您可以显示完整的脚本吗? 在浏览器中调试您的处理程序。或者在处理程序的每一行之后放置 console.log() 。例如:console.log('composing = ' + compose);等 @Spokey 缺少什么?消息被发送和接收。被采访者被通知打字聊天。但是获取打字通知是行不通的。 @UlukBiy Biy,我试过了。空 @AlexV 显示收到的消息内容。 【参考方案1】:

您需要将onNotificationReceived(msg)中的响应解析为XML

var msg = $.parseXML(msg);

我认为你的意思是

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

【讨论】:

哦,不。没有通知,只有消息

以上是关于收到 Strophe.js 通知(正在撰写)的主要内容,如果未能解决你的问题,请参考以下文章

node.js, XMPP Strophe.js

Facebook 聊天 API - XMPP 输入暂停通知

< 在使用 strophe.js 时变为 <

strophe js 使用 angular 4 接收一条消息

为啥我收到远程通知时没有发送本地通知?

Firebase 远程通知未收到?