jTemplate и MicrosoftAjaxTemplates кодируют или декодируют HTML (браузер не отображается как HTML) - PullRequest
3 голосов
/ 23 января 2010

Я использую jTemplate для отображения элемента rss на моей странице. но описание каждого элемента не отображается правильно.

Мой шаблон:

<table>
  <thead>
    <tr>
      <th>Date</th>
      <th>Title</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    {#foreach $T.Items as post}
    <tr>
      <td>{$T.post.PubDate}</td>
      <td><a href="{$T.post.Link}">{$T.post.Title}</a></td>
      <td>{$T.post.Description}</td>
    </tr>
    {#/for}
  </tbody>
</table>

но при рендеринге страницы я вижу тег (или закодированный тег) вместо рендеринга html в столбце описания:

& lt; граница таблицы = 0 width = valign = top cellpadding = 2 cellspacing = 7 & gt; & lt; tr & lt; td width = 80 выровнять = центральное значение = верхний & gt; & lt; шрифт стиль = «Размер шрифта: 85%; семейство шрифтов: Arial, без засечек» & GT; ....

А когда html-декодирование на стороне сервера, см .:

<граница таблицы = 0 ширина = valign = top CELLPADDING = 2 CELLSPACING = 7>

<тд ширина = 80 выравнивание = центр VALIGN = топ> <шрифт стиль = "Размер шрифта: 85%; семейство шрифтов: Arial, без засечек"> ....

В чем проблема?

Примечание: я тестирую с MicrosoftAjaxTemplates и вижу ту же проблему, но при использовании со строкой это нормально, как $ ('. Desc'). Append ('любой тег HTML');

1 Ответ

2 голосов
/ 20 августа 2010

jTemplates по умолчанию экранирует HTML. Вы можете изменить это, изменив свойство в необязательном объекте настроек в качестве третьего аргумента следующим образом:

.setTemplate("#template", null, { filter_data: false });

...