在CKEditor 4.2中切换Source和WYSIWYG时丢失格式

时间:2013-11-12 12:00:59

标签: ckeditor strip-tags

我正在使用CKEditor版本4.2.2 Drupal模块。 当我切换“源”按钮(在纯文本和富文本之间切换)时,我最终丢失了一些标签。 似乎CKEditor重写了HTML代码。 到目前为止,我做了很多搜索,我在“自定义JavaScript配置”中添加了 (在CKEditor模块的配置部分中),这行代码:

config.allowedContent = true;

使用上面的代码我获得了部分成功,现在只留下更多标签,但是对于以下代码:

<h2>404<i class="icon-file"></i></h2>

CKEditor将其重写为:

<h2>404</h2>

删除空的i标签。上面的i标签用于字体图标。

在Source View和WYSIWYG视图之间切换时,如何防止CKEditor重写Markup?

我遇到的问题是多个用户编辑同一个文档,有些用户使用WYSIWYG编辑器,而其他用户使用纯文本视图。你会看到事情变得如此混乱。

感谢。

2 个答案:

答案 0 :(得分:0)

标记<i>已经具有斜体文本的历史语义含义。使用它作为图标没有任何意义。使用其他标签,它会更容易。

CKE会自动删除空<i><b><span>等。你可以解决这个问题,看看这个问题:CKEditor strips <i> Tag但我不推荐它。其他方法不会更好,更自然,比如使用<img>吗?或者甚至更好,直接在H2元素中添加一个类并使用一些CSS / JS来获得所需的结果?

对于BOFH选项,请教您的用户将&nbsp;输入到元素中,如下所示:<i>&nbps;</i> - 该元素将保留在原位。可怕的选择,不要这样做。

还相关:ckeditor removing empty span automatically

答案 1 :(得分:0)

尝试在ckeditor配置文件中使用config.fillEmptyBlocks = false;。此选项告知CKeditor不使用&nbsp;填充空标记。但它可能会迫使ckeditor不会影响空标签。