【发布时间】:2015-05-20 00:09:03
【问题描述】:
我有一个 ASPX Web 应用程序供我的业务后台人员使用。在其中一个后台模块中,我使用TinyMCE 在将一些文本保存到数据库之前对其进行编辑。文本如下所示:
<p data-mce-style="-webkit-margin-before: 0px; -webkit-margin-after: 0px; font-family: 'Segoe UI'; font-size: 14px; background-color: #f7f7f7;">
<strong>Is</strong>
one of the
<span style="text-decoration: underline;" data-mce-style="text-decoration: underline;">most</span>
brilliant
<span style="background-color: rgb(255, 204, 153);" data-mce-style="background-color: #ffcc99;">ballets</span>
in the
<strong>world</strong>
. "
<em>Sleeping Beauty</em>
" take
<span style="color: rgb(51, 153, 102);" data-mce-style="color: #339966;">us</span>
to an
<a href="http://pt.wikipedia.org/" target="_blank" data-mce-href="http://pt.wikipedia.org/">unchanted</a>
place
</p>
<ul>
<li data-mce-style="-webkit-margin-before: 0px; -webkit-margin-after: 0px; font-family: 'Segoe UI'; font-size: 14px; background-color: #f7f7f7;">with forests,</li>
<li data-mce-style="-webkit-margin-before: 0px; -webkit-margin-after: 0px; font-family: 'Segoe UI'; font-size: 14px; background-color: #f7f7f7;">curses and faries,</li>
</ul>
<p style="text-align: justify;" data-mce-style="text-align: justify;">
with a romantic and lovely
<span style="color: rgb(0, 0, 255);" data-mce-style="color: #0000ff;">song</span>
. A fantastic
<sup>show</sup>.
</p>
移动前端应用程序(由另一个人用 Flash 开发)需要显示所有样式不变的文本。但是,有时应用程序不显示任何内容,开发人员说这是因为 Flash 不喜欢 HTML 标记/样式。
我在想我们可以使用某种解析器将 HTML 代码转换为更适合 Flash 的代码,但我找不到任何东西。我遇到了这两个链接,但我对 ActionScript 一无所知,所以它们对我帮助不大:
有没有什么简单的方法可以将 HTML 转换成 ActionScript?
【问题讨论】:
-
您无法将 HTML 转换为 ActionScript。 HTML是一种用于描述网页结构的标记语言,而ActionScript是一种类似于Javascript的编程语言。在我看来,您实际上是在尝试做其他事情,但不清楚是什么 - 请re-phrase your question,以便我们更好地了解您的情况。
-
Flash 文本字段支持 一些 HTML 标签。根据SWF spec,"...动态文本还具有静态文本所没有的许多格式化功能。这些丰富的格式化功能表示为 HTML 文本标记标签的子集。 " 请参阅该文档的第 173-174 页,了解 Flash 支持的 HTML 标记列表。
-
如果我对您的情况的理解正确,则存储在数据库中的文本包含 HTML 标记(例如:
<p>Hello, <b>World!</b></p>),这将传递给 Flash 前端程序。由于启用了 HTML 支持的 Flash 文本字段能够处理常见的标签,例如<b>或<i>,我不知道为什么会有任何问题。我建议您与处理 Flash 程序的人谈谈 the document I linked to before 中提到的 supported 标签。 -
data-mce-style不是 HTML 属性,它是 MCE 以某种方式使用的自定义属性。基本上,您存储在数据库中的代码非常特定于 MCE,因此您将不得不进行一些自定义转换。而且您已经发现 TextField 中支持的 HTML/CSS 子集非常有限。如果您的客户端使用 AIR,您可以使用HTMLLoader或StageWebView来获取完整的 HTML 渲染器。 -
@Ninita 如果您使用 AIR,您也许可以通过
StageWebView/HTMLLoader来实现,但是您失去了大部分控制权并且很难集成。否则,没有更好的选择。 Flash 不是 HTML 渲染器,而且在这方面做得很差。即使它支持的东西也非常慢。如果你坚持使用 Flash,你的选择真的很有限。
标签: html actionscript-3 flash actionscript tinymce