< 在使用 strophe.js 时变为 <

Posted

技术标签:

【中文标题】< 在使用 strophe.js 时变为 <【英文标题】:< becomes &lt; when using strophe.js 【发布时间】:2014-02-24 15:00:20 【问题描述】:

我正在发送包含&amp;lt; 字符的消息。

但是收到的消息是&amp;lt; 字符。

这是我的脚本:

var message = $msg(to: 'user@domain.com', "type": "chat").c('body').t('<a href="#">hshshsh</a>').up().c('active', xmlns: "xhttp://jabber.org/protocol/chatstates");         
Gab.connection.send(message);

消息实际上是:&lt;a href="#"&gt;hshshsh&lt;/a&gt;

但收到的是:&amp;lt;a href="#"&amp;gt;hshshsh&amp;lt;/a&amp;gt;

是什么使&amp;lt; 转换为&amp;lt;

【问题讨论】:

也许它正在清理 html HTML 清理意味着什么?是否受 /meta 标签影响? 这意味着该库正在将普通 HTML 转换为经过净化的 HTML 以防止攻击。 我在另一个应用程序中使用了 strophe.js 库,它工作正常。它使用相同的设置。 您或收件人正在使用的电子邮件客户端正在清理 HTML。 【参考方案1】:

可能重复:

Strophe character encoding issue

【讨论】:

以上是关于< 在使用 strophe.js 时变为 <的主要内容,如果未能解决你的问题,请参考以下文章

Strophe.js - 如何获得一组名册及其成员?

XMPP Web 客户端(使用 strophe.js)花时间连接 ejabberd 服务器

strophe.min.js 和 strophe.js 的区别?

Strophe.js Jabber 搜索 (XEP-0055)

使用 Strophe.js 名册插件和 Ejabberd 接收“订阅”状态

Strophe.js 注册插件不起作用