如何在TypeScript中显示RTF?

时间:2014-07-16 08:34:07

标签: html typescript richtextbox

我从服务中获取以下字符串,我只想在页面上的textarea中显示它:

<html><Font FontSize=\"17\" FontFamily=\"Arial\" ><Font FontSize=\"17\" FontFamily=\"Arial\" >Test</Font> </Font> <br /> </html>

如果我将它设置为我的textarea,它就会显示原样,没有任何格式化。

var agenda_id = $("#agenda_text");
var agendaArea: JQuery = $('<textarea>');
agenda_id.append(agendaArea);
agendaArea.text(appointment.HtmlDescription);

enter image description here

我想显示文字&#39;测试&#39;以定义的格式。

提前致谢!

2 个答案:

答案 0 :(得分:1)

当然,您需要一个RTF到HTML转换器。我找不到一个用JavaScript编写的。 C#中有很多这样的例子http://blogs.msdn.com/b/jmstall/archive/2006/10/20/rtf_5f00_html.aspx

答案 1 :(得分:0)

简单地说,你想要展示一些(非常讨厌的)HTML ......

您可以将其添加到元素中(尽管如果HTML来自不受信任的来源,例如最终用户,请注意HTML注入攻击)。

var content = '<html><Font FontSize=\"17\" FontFamily=\"Arial\" ><Font FontSize=\"17\" FontFamily=\"Arial\" >Test <b>Test</b></Font> </Font> <br /> </html>';

var div = document.createElement('div');
div.innerHTML = content;

document.body.appendChild(div);

如果您要将其添加到文本框中,因为您想编辑文本,可以添加:

div.contentEditable = 'true';

但是,您负责将内容编组进出容器以及标准表单元素提供的所有可访问性。