2013-04-16 2 views
0

Я отправил чаты Google Talk, которые являются HTML, описанными в этом вопросе: How do you send HTML formatted messages over XMPP with Node.JS?Поддерживает ли Google Talk чаты в формате HTML?

Однако Gtalk, кажется, просто интерпретирует его как текст. Предоставляет ли Gtalk сообщения в формате HTML?

Чтобы ответить на комментарий ниже: это может быть либо клиент, либо сервер, на котором выполняется Google, который неправильно интерпретирует его.

+0

Не могли бы вы пояснить, относится ли «Google Talk» к клиенту или к службе XMPP, которую предоставляет Google? –

+0

Если вы используете способ XEP-0071, имеющий HTML и текстовое сообщение, вы видите коды HTML в своем клиенте Google Talk? Или вы видите только обычный текст? Вы пытались использовать открытие? http://xmpp.org/extensions/xep-0071.html#discovery –

ответ

2

Да, Google Talk принимает сообщения в формате HTML. Однако, как вы заметили, он игнорирует форматированный текст и отображает только обычный текст. Согласно XHTML-IM XEP, каждое сообщение HTML должно сопровождаться простым текстовым сообщением для совместимости с клиентами, которые не поддерживают сообщения в формате HTML.

Когда я посылаю этот example message клиента Google Talk на моей машине Windows, (с помощью консоли ввода XML ЕЙ) ...

<message to="[email protected]/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, я получаю ...

<message from="[email protected]/Ben-PC" to="[email protected]"> 
<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 поддерживает форматированный текст.

Способ тестирования возможностей заключается в использовании Service Discovery. Если я пошлю ...

<iq to='[email protected]/Talk.v10445D0E8B1' type='get'> 
    <query xmlns='http://jabber.org/protocol/disco#info'/> 
</iq> 

... Я получаю ...

<iq from="[email protected]/Talk.v10445D0E8B1" type="error" to="[email protected]/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 не поддерживает Service Discovery. Мы должны полагаться на наблюдение, что текст сообщения HTML игнорируется клиентом и сервером Google Talk.

Смежные вопросы