Google Talk 是不是接受 HTML 格式的聊天?

Posted

技术标签:

【中文标题】Google Talk 是不是接受 HTML 格式的聊天?【英文标题】:Does Google Talk accept HTML formatted chats?Google Talk 是否接受 HTML 格式的聊天? 【发布时间】:2013-04-16 15:31:07 【问题描述】:

我已按照以下问题所述的方式发送了 html 格式的 Google Talk 聊天:How do you send HTML formatted messages over XMPP with Node.JS?

但是,Gtalk 似乎只是将其解释为文本。 Gtalk 是否接受 HTML 格式的消息?

回复以下评论:可能是客户端或 Google 运行的服务器对其进行了错误解释。

【问题讨论】:

您能否澄清一下“Google Talk”是指客户端还是 Google 提供的 XMPP 服务? 如果您使用 XEP-0071 方式,它有 HTML 和纯文本消息,您是否在 Google Talk 客户端中看到 HTML 代码?还是您只看到普通文本?您是否尝试过使用发现? xmpp.org/extensions/xep-0071.html#discovery 【参考方案1】:

是的,Google Talk 接受 HTML 格式的消息。但是,正如您所观察到的,它忽略了格式化文本,只显示纯文本。根据XHTML-IM XEP,每条 HTML 消息都必须附有纯文本消息,以便与不支持 HTML 格式消息的客户端兼容。

当我将此example message 发送到我的 Windows 机器上的 Google Talk 客户端时(使用 Psi 的 XML 输入控制台)...

<message to="test@gmail.com/Talk.v10445D0E8B1">
  <body>Wow, I&apos;m green with envy!</body>
  <html xmlns='http://jabber.org/protocol/xhtml-im'>
    <body xmlns='http://www.w3.org/1999/xhtml'>
      <p style='font-size:large'>
        <em>Wow</em>, I&apos;m <span style='color:green'>green</span>
        with <strong>envy</strong>!
      </p>
    </body>
  </html>
</message>

...我只看到文字Wow, I'm green with envy!

当我向登录到 Google Talk 的 Psi 客户端发送相同的消息时,我收到...

<message from="test@jabber.org/Ben-PC" to="test@gmail.com">
<body>Wow, I'm green with envy!</body>
<html xmlns="http://jabber.org/protocol/xhtml-im">
<body xmlns="http://www.w3.org/1999/xhtml">
          <p style="font-size:large">
            <em>Wow</em>, I'm <span style="color:green">green</span>
            with <strong>envy</strong>!
          </p>
        </body>
      </html>
</message>

它并没有像我预期的那样从 HTML 中剥离(服务器不应更改消息的内容)。它显示为,因此看起来 Psi 确实支持格式化文本。

测试能力的方法是使用Service Discovery。如果我发送...

<iq to='test@gmail.com/Talk.v10445D0E8B1' type='get'>
  <query xmlns='http://jabber.org/protocol/disco#info'/>
</iq>

...我收到...

<iq from="test@gmail.com/Talk.v10445D0E8B1" type="error" to="test@jabber.org/Ben-PC">
<query xmlns="http://jabber.org/protocol/disco#info"/>
<error type="cancel" code="501">
<feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>

... 这意味着 Google Talk 客户端不支持服务发现。我们必须依靠 Google Talk 客户端和服务器忽略 HTML 消息文本的观察结果。

【讨论】:

以上是关于Google Talk 是不是接受 HTML 格式的聊天?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 Google Talk 聊天客户端的电子邮件(默认 IM)而不是公共 IM

基于 html 的聊天系统(如 facebook 和 google talk)背后的技术

Google Talk API 与 Android 应用程序的集成

如何检索 Google-talk 用户的 id

使用 smack 连接到 Google Talk

JavaScript Google Talk小工具