我在我的网站的CMS中使用CKEditor,它会扫描出一个由Flash读取的CDATA封装内容的XML文件。问题是CKEditor在其enterMode被设置为<p>
标签时,会在源中创建一个换行符和一个选项卡,当被flash读取时,即使我将ignoreWhiteSpace设置为true,也会进入空间。有什么方法可以阻止ckeditor使用这种行为吗?
编辑:
我仍然希望保留任何&lt; p&gt;从编辑器中输入的标签 - 我只是不希望在实际源中添加所有额外的空格/标签。如果我使用上面的方法,我的实际代码将被修改。如果我查看源代码,我得到的是:
<p>
Donec at erat nec tortor sodales tempus.</p>
(一个输入,以及第一个&lt; p&gt;标记之后的标签或一堆空格,而不是:
<p>Donec at erat nec tortor sodales tempus.</p>
(源代码中的&lt; p&gt;标记后没有空格或中断,我相信这会影响XML的显示。这有助于澄清吗?
答案 0 :(得分:2)
您应该测试“输出为Flash”示例,这里有一个小片段,只更改您要求的部分,但其余调整应该对您有用:
// Make output formatting match Flash expectations
var dtd = CKEDITOR.dtd;
for ( var e in CKEDITOR.tools.extend( {}, dtd.$nonBodyContent, dtd.$block, dtd.$listItem, dtd.$tableContent ) )
{
dataProcessor.writer.setRules( e,
{
indent : false,
breakBeforeOpen : false,
breakAfterOpen : false,
breakBeforeClose : false,
breakAfterClose : false
});
}
dataProcessor.writer.setRules( 'br',
{
indent : false,
breakBeforeOpen : false,
breakAfterOpen : false,
breakBeforeClose : false,
breakAfterClose : false
});
答案 1 :(得分:0)
我实际上是通过使用
在Flash端解决了这个问题TextField.condenseWhite = true;
和
XML.ignoreWhite = true;
这不会改变CKEditor如何吐出来的东西,但它确实解决了flash如何显示它的问题。