我试图使用Strophe发送html消息到muc房间。我也尝试通过Psi中的XML控制台发送以下xml,但它不起作用,只显示Hello World。信息节有什么问题吗?使用Strophe在muc房间发送XHTML消息
<message to="[email protected]" type="groupchat"><body>Hello World </body><html xmlns="http://jabber.org/protocols/xhtml-im"><body xmlns="http://www.w3.org/1999/xhtml"><p style="color : red">Hello HTML World</p></body></html></message>
谢谢!
编辑1:迪斯科#信息房间查询。我使用的是真空IM,Psi和客户端现在,但幽应该支持XHTML-IM(http://psi-im.org/wiki/Supported_Protocols)
<iq xmlns="jabber:client" from="[email protected]" type="result" id="foo" to="[email protected]/Vacuum-IM">
<query xmlns="http://jabber.org/protocol/disco#info">
<identity xmlns="http://jabber.org/protocol/disco#info" category="conference" type="text" name="room"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/muc"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="muc_public"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="muc_open"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="muc_moderated"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="muc_semianonymous"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="muc_unsecured"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="muc_persistent"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/disco#info"/>
<x xmlns="jabber:x:data" type="result">
<field xmlns="jabber:x:data" type="hidden" var="FORM_TYPE">
<value xmlns="jabber:x:data">http://jabber.org/protocol/muc#roominfo</value>
</field>
<field xmlns="jabber:x:data" label="Description" var="muc#roominfo_description">
<value xmlns="jabber:x:data">asdf</value>
</field>
<field xmlns="jabber:x:data" label="Subject" var="muc#roominfo_subject">
<value xmlns="jabber:x:data"/>
</field>
<field xmlns="jabber:x:data" label="Number of occupants" var="muc#roominfo_occupants">
<value xmlns="jabber:x:data">1</value>
</field>
<field xmlns="jabber:x:data" label="Creation date" var="x-muc#roominfo_creationdate">
<value xmlns="jabber:x:data">20120423T17:31:49</value>
</field>
</x>
</query>
EDIT2:响应消息节
<message xmlns="jabber:client" from="[email protected]/ad" type="groupchat" to="[email protected]/Vacuum-IM">
<body xmlns="jabber:client">Hello World </body>
<html xmlns="http://jabber.org/protocols/xhtml-im">
<body xmlns="http://www.w3.org/1999/xhtml">
<p xmlns="http://www.w3.org/1999/xhtml" style="color : red">Hello HTML World</p>
</body>
</html>
编辑3:对mu#流量查询的回应
<iq xmlns="jabber:client" from="[email protected]" type="error" id="foo" to="[email protected]/Vacuum-IM">
<query xmlns="http://jabber.org/protocol/disco#info" node="http://jabber.org/protocol/muc#traffic"/>
<error xmlns="jabber:client" type="cancel" code="404">
<item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
Edit4:幽响应客户端(功能)的disco#info(XHTML-IM是最后一个)
<iq xmlns="jabber:client" from="[email protected]/Kostyas-MacBook-Pro" type="result" to="[email protected]/Vacuum-IM" id="foo">
<query xmlns="http://jabber.org/protocol/disco#info">
<identity xmlns="http://jabber.org/protocol/disco#info" category="client" type="pc" name="Psi"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/bytestreams"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/si"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/si/profile/file-transfer"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/disco#info"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/commands"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/rosterx"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/muc"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="jabber:x:data"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="urn:xmpp:jingle:1"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="urn:xmpp:jingle:transports:ice-udp:1"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="urn:xmpp:jingle:apps:rtp:1"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="urn:xmpp:jingle:apps:rtp:audio"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/chatstates"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/mood+notify"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/tune+notify"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/physloc+notify"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/geoloc+notify"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://www.xmpp.org/extensions/xep-0084.html#ns-metadata+notify"/>
<feature xmlns="http://jabber.org/protocol/disco#info" var="http://jabber.org/protocol/xhtml-im"/>
</query>
Edit5:解决方法:获取的iChat和Adium :-) Adium以不同的颜色和字体发送xhtml消息,但它不显示它自己做了什么。只有iChat正确呈现xhtml。所以组合起作用。也不要使用p标签,颜色应该是十六进制格式。例如:
<message xmlns="jabber:client" type="groupchat" to="[email protected]">
<body xmlns="jabber:client">Hello World</body>
<html xmlns="http://jabber.org/protocol/xhtml-im">
<body xmlns="http://www.w3.org/1999/xhtml">
<span xmlns="http://www.w3.org/1999/xhtml" style="font-family: Times New Roman; font-size: large; color: #FF0000;">Red text</span>
</body>
</html>
其实Psi应该支持xhtml-im(xep-0071)http://psi-im.org/wiki/Supported_Protocols。响应中有一个html体。请参阅问题中的Edit2。谢谢! – user1054134 2012-04-26 09:52:13