ckeditor自动删除空跨度

时间:2013-08-15 20:26:58

标签: javascript html ckeditor

我正在使用ckeditor,我有各种奇怪的问题。

它会自动删除空<span>例如

 <span class="new-class"></span>

自动删除。

我正在寻找最近2天的解决方案,但没有成功。我尝试将以下代码放入

config.js

CKEDITOR.config.allowedContent = true;

但没有成功。

我还在html中添加以下代码,其中我使用ckeditor但没有成功。

   <script>     
var editor = CKEDITOR.replace( 'editor1', {
allowedContent: true,
    } );
   </script>    

感谢

6 个答案:

答案 0 :(得分:14)

我正在使用Django CMS 3,CKEditor 4.3,我使用twitter bootstrap glyphicon也遇到了同样的问题。 看看:http://ckeditor.com/forums/Support/Prevent-removal-of-empty-span-tags#forum-topic-top

为了允许空的span标记,我在ckeditor / config.js

的末尾添加了
CKEDITOR.dtd.$removeEmpty.span = 0;

答案 1 :(得分:14)

我遇到了同样问题的这个帖子,并且认为我会发布我的解决方案。我不希望CKEditor删除任何空白元素。将以下内容添加到config.js文件的底部:

    $.each(CKEDITOR.dtd.$removeEmpty, function (i, value) {
        CKEDITOR.dtd.$removeEmpty[i] = false;
    });

答案 2 :(得分:8)

您将在此问题中找到两个有效答案:CKEditor strips <i> Tag

有人说,如果你想在编辑器中看到它们,就不能保留它们,第二个说你可以阻止它们删除,但你会隐藏它们。

答案 3 :(得分:4)

对我有用的唯一选择是添加:

config.extraAllowedContent = 'span(*)';

在config.js中,位于:

CKEDITOR.editorConfig = function( config ) {

部 ''(星号)允许span标记内的所有类只允许选择的类名称添加它们而不是'',用','分隔

答案 4 :(得分:2)

这很烦人,但是在一堆页面的帮助下,我会整理我在这里发现的内容;

(我正在使用带有inlinesave编辑器的CKEditor 4.4.1,但这适用于任何插件)

核心/ filter.js 文件

中的

变化:

var allowedContent = editor.config.allowedContent;

为:

var allowedContent = true;

(建议不要这样做,所以请务必检查用户正在保存的内容;-))

然后在核心/ dtd.js 文件中

底部附近的

是一个$removeEmpty:,它保存了一个元素列表,如果它们被设置为1,它就会忽略它。查找范围并将其设置为1到0(span: 0

如果您将“glyphicons”插件添加到 config.js 中的config.plugins,您应该可以添加它们,在编辑器中查看它们,一旦保存,它还是会在那里! : - )

希望这有帮助

答案 5 :(得分:1)

这里有两个问题:

1)<span>被丢弃,因为它们不是允许的内容。

2)<span>被丢弃,因为它们是空的。

要解决此问题,您不仅需要非空<span>,还需要配置文件中的config.extraAllowedContent = 'span(selector1,selector2,...,selectorN)'

作为旁注,我建议不要使用config.allowedContent,因为这样可以提供任何内容。