私は 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>
助けてくれてありがとう。
編集:
アウトバウンド、Strophe は二重エンコーディングのようです。入力すると
私は
送っている
<body>I&apos;m</body>
インバウンドで、CDATA を適切に処理していないようです。ガイダンスやアイデアをいただければ幸いです。