我使用tinyMCE在后端编辑/标记文本。我想在Flash应用程序中使用生成的AS3。问题是Flash不支持<span>中的属性、<em>标记、<strong>标记等。我想这里有两种可能性:
<b>代替<strong> .替换Flash中的所有tinyMCE-标记。
任何帮助都是欢迎的。
这是tinyMCE生成的原始html:
<span style="color:#FF0000; font-size:24;">text, and <strong>bold text</strong></span>这就是我在Flash中需要的:
<font size='24' color='#FF0000'>text and <b>bold text</b></font> 发布于 2010-08-30 15:15:38
谢谢你的回复,但我找到了一个非常简单的解决方案。TinyMCE附带了一个名为:legacyoutput的插件。这将生成在Flash中可读的老式HTML代码。
如何使用此方法:
在i' init函数中,
现在您的HTML将如下所示:
<font size="12" style="color:#FF0000"><b>text in bold 14pt red</b></font>样式属性应替换为颜色属性,以使其在Flash中可读,您可以通过编辑legacyoutput js文件(tinymce/plugins/legacyoutput/editor_plugin.js和editor_plugin_src.js中的规则来修复这个问题:
查找“止赎者”并将代码更改为:
forecolor : {inline : 'font', attributes : {color : '%value'}},现在,您可以使用一次攻击将其输出到中。
发布于 2010-08-17 08:24:42
首先,将以下内容添加到您的配置中(这将导致使用b标记而不是用于粗体的强标记):
tinyMCE.init({
...
formats : {
...
bold : {inline : 'b'},
...
});您应该编写一个带有功能的插件来替换您的跨空间(使用jQuery)。相关守则应类似于以下内容:
iframe_id = (ed.id == 'content_ifr') ? ed.id : ed.id+'_ifr';
spans = document.getElementById(iframe_id).document.getElementsByTagName('span');
for (i=0;i<spans.length;i++){
with(document.getElementById(iframe_id).contentWindow){
var font=document.createElement("font");
font.innerHTML = span[i].innerHTML;
font.size = $(span[i]).attr('font-size');
font.color = $(span[i]).attr('color');
span[i].parentNode.replaceChild(font, span[i]);
}
}https://stackoverflow.com/questions/3494555
复制相似问题