jop*_*pke 7 javascript xmpp strophe
我正在开发一个XMPP客户端,并且遇到Strophe(javascript版本)发送/接收消息的问题.
问题是包含"特殊"字符的邮件.例如,如果我发送:
我在这.
将显示外部客户端(即iChat)
我在这里
strophe客户端根本不显示任何内容.
如果我从iChat向strophe客户端发送相同的消息,它会正确显示.
这是我能提出的最基本的示例代码:
<html>
<head>
<script type='text/javascript' src='strophe.min.js'></script>
<script type='text/javascript'>
function onConnect(status) {
if (status == Strophe.Status.CONNECTED) {
var message = $msg({to: CONTACT_JID, from: JID, type: 'chat'}).c('body').t("I'm here."); ;
connection.send(message.tree());
}
}
var connection = new Strophe.Connection('http://bosh.metajack.im:5280/xmpp-httpbind');
connection.connect(JID, PASS, onConnect);
</script>
</head>
<body></body>
</html>
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
编辑:
出站,似乎Strophe是双重编码.当我输入
我
它正在发送
<body>I&apos;m</body>
Run Code Online (Sandbox Code Playgroud)
入站,似乎没有正确处理CDATA.任何指导或想法都表示赞赏.
好的,基于
https://github.com/metajack/strophejs/issues/54
https://github.com/metajack/strophejs/pull/59
你应该删除文本节点的转义.打开非最小化版本的strophe.js文件和注释行#846
//text = Strophe.xmlescape(text);
Run Code Online (Sandbox Code Playgroud)