5

我有一个使用 ckeditor 4.2 的 Drupal 7 站点。我创建了一个基本的页面节点,并在正文的 h2 标题内放置了一个跨度。我在 html 视图中对其进行了硬编码。它看起来不错,但如果我回去编辑页面,我的 html 以及任何 style="" 我都已放入 html 中。我查看了 ckeditor 配置和文本格式。我已经设置了允许的唯一格式是文本和完整的 html,所以我根本不使用过滤。是什么赋予了?我以前用过很多次编辑器,但可能不是这个版本。

4

4 回答 4

21

如果您使用的是CKeditor模块,那么在模块主页中也提到了高级选项中的一个选项,您应该在其中设置:

config.allowedContent = true;

CKeditor 配置

于 2013-08-22T09:14:21.720 回答
9

以上解决方案都不适合我。我发现 CKEditor 正在从 HTML 中删除空的 <span> 标记。例如:

<div class="section-heading">
    <span class="sep-holder-l"><span class="sep-line"></span></span>
    <h4>Section Header</h4> 
    <span class="sep-holder-r"><span class="sep-line"></span></span>
</div>

会产生:

<div class="section-heading">
    <h4>Section Header</h4> 
</div>

但是,如果我在最里面的 <span> 中添加了一个不间断的空格,CKEditor 不会编辑 HTML:

<div class="section-heading">
    <span class="sep-holder-l"><span class="sep-line">&nbsp;</span></span>
    <h4>Section Header</h4> 
    <span class="sep-holder-r"><span class="sep-line">&nbsp;</span></span>
</div>

希望这可以帮助那里的人!

于 2014-08-14T03:03:35.117 回答
1

在 Drupal 7 中,CKEditor 的过滤器(称为高级内容过滤器)和 Drupal 的过滤器之间没有自动同步。据我了解,您配置了后一个,但没有配置第一个。见config.extraAllowedContent

于 2013-08-22T06:31:18.760 回答
1

CKEditor 4.+ 将删除它在 CKEDITOR.dtd.$removeEmpty 中找到的任何空标签,作为 HTML 解析过程的一部分。请参阅此答案以获取避免它的技巧。

于 2016-07-19T18:03:26.727 回答