1

我正在使用 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 标签用于字体图标。

在源视图和所见即所得视图之间切换时,如何防止 CKEditor 重写标记?

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

谢谢。

4

2 回答 2

0

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

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

对于 BOFH 选项,教你的用户&nbsp;像这样输入元素:<i>&nbps;</i>- 元素将保持原位。可怕的选择,不要这样做。

也相关:ckeditor自动删除空跨度

于 2013-11-12T12:56:02.770 回答
0

尝试config.fillEmptyBlocks = false;在 ckeditor 配置文件中使用。这个选项告诉 CKeditor 不要用&nbsp;. 但它可能会强制 ckeditor 根本不影响空标签。

于 2014-07-17T14:05:00.740 回答