Google Talk是否接受HTML格式的聊天记录?

时间:2013-04-16 15:31:08

标签: xmpp google-talk

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

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

要回复以下评论:它可能是Google运行的客户端或服务器,它会错误地解释它。

1 个答案:

答案 0 :(得分:2)

是的,Google Talk接受HTML格式的邮件。但是,正如您所观察到的,它忽略了格式化文本并仅显示纯文本。根据{{​​3}},每条HTML邮件都必须附带纯文本邮件,以便与不支持HTML格式邮件的客户端兼容。

当我将XHTML-IM XEP发送到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 showing formatted text,因此看起来Psi确实支持格式化文本。

测试功能的方法是使用example message。如果我发送......

<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消息文本的观察结果。