strophe.js组邀请 - 处理程序未触发

时间:2013-12-07 15:30:39

标签: javascript php strophe libstrophe

我的邀请处理程序有问题。永远不会被解雇。我可以看到小组的邀请:

<body xmlns='http://jabber.org/protocol/httpbind'>
        <message xmlns="jabber:client" from="epthi_795@conference.188.2.16.19" to="nikoladerikonjic@188.2.16.19">
            <x xmlns="http://jabber.org/protocol/muc#user">
                <invite from="sanjicabjelica@188.2.16.19">
                    <reason>Please join me in conference.</reason>
                </invite>
            </x>
            <x xmlns="jabber:x:conference" jid="epthi_795@conference.188.2.16.19"/>
        </message>
</body>

但是没有触发on_message处理程序。因为没有定义类型。

当我放Chat.connection.addHandler(Chat.on_message,null, "message", null,null,null,null);

显示邀请,但所有消息组或聊天都由此处理。我希望我能够拥有

Chat.connection.addHandler(Chat.on_message,null, "message", "chat");
Chat.connection.addHandler(Chat.on_message,null, "message", "groupchat");

用于单独类型的消息。

我绕着这个圈子走了两天。救命啊!?

换句话说,对于包含邀请的邮件,要在addHandler中添加什么内容?

更新

我必须把

Chat.connection.addHandler(Chat.on_message,null, "message"); 

在我邀请之前。

我不明白为什么会这样?有没有人有想法?

1 个答案:

答案 0 :(得分:4)

您开始使用的2个处理程序需要一个类型。邀请没有类型。我用于邀请的处理程序代替命名空间。这样它就与我的消息处理程序分开了。

connection.addHandler(onInvite,'jabber:x:conference');