我的CKEditor在将样式应用于所选段落时添加了许多不必要的标记
我使用以下html启动CKeditor:
<p>
Hi, this a text!</p>
当我选择段落并使用工具栏应用样式时,CKEditor将我的html格式化为以下内容:
<p>
<span style="display: none;"> </span></p>
<p>
<span id="cke_bm_173S" style="display: none;"> </span>Hi, this a text!<span id="cke_bm_173E" style="display: none;"> </span></p>
<p>
<span style="display: none;"> </span></p>
有没有办法阻止CKEditor添加带有非中断空格的段落?
我已经尝试过的事情是将config.fillEmptyBlocks = false;
和config.IgnoreEmptyParagraphValue = true;
添加到我的配置文件中
更新
原来这个问题是由风格本身引起的,这是一种自定义风格。这段代码是问题:{name : 'Heading1', element : 'p class= "subheadingsecondlevel"}
,一旦我将其更改为:{name : 'Heading1', element : 'p', attributes : {class : 'subheadingsecondlevel'} }
答案 0 :(得分:8)
您可能需要考虑这些:
config.enterMode = CKEDITOR.ENTER_BR;
config.autoParagraph = false;
您可以在此处查看我的帖子了解更多信息:
How to configure ckeditor to not wrap content in <p> block?
以下配置设置将阻止编辑器在空段落中插入不间断的空格:
config.fillEmptyBlocks = false;
在应用一种样式后是否插入了所有附加代码?
您使用的是什么样式,无论您使用哪种风格,都会插入所有额外的代码?
如果您选择文本并单击粗体按钮会发生什么?
您正在显示的代码是从编辑器的源视图还是从用于显示内容的最终页面复制的?
好吧,
乔
答案 1 :(得分:2)
或者,如果全部失败,您可以使用CSS选择器伪类':empty'并给它一个'display:none'。实际上,您将此行添加到CSS:
p:empty {
display:none
}
我知道这是一个肮脏的解决方案,但它在大多数情况下都能完美运行,并且对设计和功能的影响很小。