【问题标题】:Why does CKeditor add line breaks and paragraph before initial text?为什么CKeditor在初始文本之前添加换行符和段落?
【发布时间】:2012-10-30 04:45:53
【问题描述】:

我有一个带有a CKEditor on it 的网页,我的问题是当我查看源代码或发布到服务器时,我在文本区域中输入的初始文本之前出现了额外的空格和换行符。

这是我输入的内容

当我点击来源时,我看到的是:

当我将它发布到服务器时,在我看到的初始文本之前:

  <p>\r\n\tWe do deli . . .

有谁知道我可以如何更改设置,以便在我不想要它们时不会添加所有这些额外的段落和换行符。这是 CKEditor 上的设置还是我需要在客户端处理的事情?我注意到数据末尾还有一个&lt;/p&gt;

【问题讨论】:

    标签: c# html ckeditor paragraph line-breaks


    【解决方案1】:

    这是一个设置,你可以禁用它。请参阅Output Formatting 上的文档

    【讨论】:

    • 我不知道如何删除

      标签。另外,我将把这个覆盖配置代码放在哪里。就在文件里面准备好了。你有这方面的例子吗?

    【解决方案2】:

    我通过在我的 config.js 中添加此代码解决了我的问题(只需将 br 替换为 p

    CKEDITOR.on('instanceReady', function (ev) {
            ev.editor.dataProcessor.writer.setRules('br',
             {
                 indent: false,
                 breakBeforeOpen: false,
                 breakAfterOpen: false,
                 breakBeforeClose: false,
                 breakAfterClose: false
             });
        });
    
        config.enterMode = CKEDITOR.ENTER_BR;
        config.shiftEnterMode = CKEDITOR.ENTER_BR;
    

    它适用于所有不需要复制代码的ckeditor( ctrl + c + ctrl + v )

    【讨论】:

      【解决方案3】:

      它是输入键插件代码中的设置。您可以从那里禁用它,然后再次编译 ckeditor 代码...

      【讨论】:

      • 你是说我需要更改ckeditor本身的源代码。现在我只是引用 .js 文件,所以我没有进行任何显式初始化。
      • 我只是说在ckeditor的src中查看enter key插件的代码。这就是输入 br 和 p 标签的原因。我想有一个选项没有定义输入键的行为......
      • 嗯,我该怎么做呢?我也有类似的问题。
      猜你喜欢
      • 2013-04-30
      • 1970-01-01
      • 2013-05-12
      • 2016-02-01
      • 2014-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多