【问题标题】:CKEditor 4.2.2 - allowedContent = true is not workingCKEditor 4.2.2 - allowedContent = true 不起作用
【发布时间】:2013-11-26 20:09:37
【问题描述】:

我想我已经阅读了大部分关于此的 SO 问题和 CKEditor 文档,但它对我不起作用。

应该简单明了,在我的 CKEditor config.js 中,我有这个:

CKEDITOR.editorConfig = function(config) {
    config.allowedContent = true;
};

但是 html 仍然被过滤,这段代码正在被剥离:

<p>
<a href="/site/public/press.pdf"><span class="icon-presseFile"></span></a>
<a href="/site/public/pics.zip"><span class="icon-pressePics"></span></a>
</p>

进入这个:

<p>&nbsp;</p>

&lt;span&gt; 元素是字体图标。

任何帮助将不胜感激。

编辑 如果我在 &lt;span&gt; 元素中添加一些文本,它会起作用(但我不想这样做)

【问题讨论】:

标签: javascript ckeditor config


【解决方案1】:

我发现我必须在主配置函数之外添加它。

这行得通:

CKEDITOR.editorConfig = function( config ) {
...
};
CKEDITOR.config.allowedContent = true;

但这没有:

CKEDITOR.editorConfig = function( config ) {
    config.allowedContent = true;
    ...
};

【讨论】:

  • 感谢您的评论。事实上,我的问题出在其他地方,但还是很高兴知道!
  • 我有同样的问题,但这对我不起作用。你有没有找到其他解决方案?
【解决方案2】:

请注意,它可能是一个恶意插件,导致 config.allowedContent = true 被忽略。 I just learned this at a cost of 12 hours of my life.

有问题的插件覆盖了自定义配置文件中的 config.allowedContent = true。因此,如果您在 CKEditor 上大喊大叫,请尝试禁用/注释掉所有插件(config.extraPlugins)。如果问题消失了,您就知道是其中一个插件造成的。

【讨论】:

    【解决方案3】:

    这个解决方案帮我解决了我的问题:CKEditor strips <i> Tag

    对于我在 config.js 中写的跨度:

    // ALLOW <span></span>
    config.protectedSource.push( /<span[\s\S]*?\>/g ); //allows beginning <span> tag
    config.protectedSource.push( /<\/span[\s\S]*?\>/g ); //allows ending </span> tag
    

    【讨论】:

      【解决方案4】:

      我在使用 Firefox 时遇到了同样的问题。 为了解决这个问题,我必须将 config.js 文件的名称更改为 ckeConfig.js 之类的其他名称并声明新名称:

      CKEDITOR.replace("textAreaId", {
          customConfig: 'yourPath/ckeditor/ckeConfig.js', 
      });
      

      别忘了在 Html 中链接:

      <script src="~/yourPath/ckeditor/ckeditor.js"></script>
      <script src="~/yourPath/ckeditor/ckeConfig.js"></script>
      

      【讨论】:

        【解决方案5】:

        试试这个:
        CKEDITOR.replace('instanceName', { extraAllowedContent: 'a span' });

        您可以在 extraAllowedContent 字符串中放置您不希望它改变的任何标签。

        【讨论】:

        • 如果您不想更改任何内容并留下

          以及其他任何内容怎么办?

        • 这是不久前的事了,但据我所知,有些标签根本没有改变。我很确定 CKEditor 总是会改变你的 html,不管你做什么。如果这不是真的,我希望有人告诉我如何配置它。
        【解决方案6】:

        将此添加到 CKEDITOR.editorConfig 函数中为我完成了:

        config.allowedContent = true; CKEDITOR.dtd.$removeEmpty = false;

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-01-28
          • 1970-01-01
          • 1970-01-01
          • 2016-03-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多