【问题标题】:How to display RTF in TypeScript?如何在 TypeScript 中显示 RTF?
【发布时间】:2014-09-06 16:42:43
【问题描述】:

我从服务中获得以下字符串,我只想将它显示在我页面上的文本区域中:

<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);

我想以定义的格式显示文本“测试”。

提前致谢!

【问题讨论】:

  • 浏览器不支持文本区域中的 RTF 编辑。您可以将其转换为 HTML 并使用 TinyMCE 之类的所见即所得编辑器。
  • 是的,但我需要这个用于 TypeScript。这是用 C# 编写的。

标签: html typescript richtextbox


【解决方案1】:

简单地说,您有一些(非常讨厌的)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';

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    猜你喜欢
    • 2014-06-06
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 2023-03-26
    相关资源
    最近更新 更多