代码之家  ›  专栏  ›  技术社区  ›  Evgeny Gil

CKEditor在源HTML的标记之间添加缩进

  •  0
  • Evgeny Gil  · 技术社区  · 7 年前

    所以,nodejs项目,express,mongodb,有一个函数,可以生成一些HTML代码,将其保存在DB中,如下所示

    botcfg.body =
        '<h3>Trade amount settings</h3>'
        + '<p># Coin position: <strong>' + req.body.coin_pos + '</strong></p>'
        + '<p># Trade amount: <strong>' + req.body.ta + '</strong></p>'
        + '<p># Template: <strong>' + req.body.template + '</strong></p>'
        + '<p># Fee: <strong>' + req.body.fee + '</strong></p>'
        + '<br>'
        + '<h3>Mad hatter mode</h3>'
        + '<p># Min Price Change To Buy: <strong>' + mh_min_pr_c2b + '</strong></p>'
        + '<br>'
        + '<h3>Safety settings</h3>'
        + '<p># Min Price Change To Buy: <strong>' + req.body.ss_min_pr_c2b + '</strong></p>'
        + '<p># Min Price Change To Sell: <strong>' + req.body.ss_min_pr_c2s + '</strong></p>'
        + '<p># Stop Loss (%): <strong>' + req.body.stoploss + '</strong></p>'
        + '<br>'
    

    在Jade view中我用

    h4 Config
                div.botconf-text.no-p-margin!= botcfg.body
    

    (无标记,如HTML) How i see after saving from node

    之后,如果我想编辑此正文,我将使用CKEditor 4

    script.
        CKEDITOR.replace('botcfg-body-edit', {
            toolbar: 'Full',
            height: '600px'
        })
    

    而且,当我什么都不做,只是保存文本时,我接收到的文本在P标记之间有缩进。。。 After ckeditor saving

    我尝试以不同的方式添加以下配置(autoParagraph single、fillEmptyBlocks single、他们在一起等等),但没有任何帮助

    config.autoParagraph = false;
    config.fillEmptyBlocks = false;
    config.enterMode = CKEDITOR.ENTER_BR;
    config.forceEnterMode = true;
    

    此文本的P样式为

    .botconf-text {
        white-space: pre-wrap;
        color: #99ff99;
        border-left: 2px dotted #ABABAB;
        padding: 8px;
        margin-left: 8px;
    }
    
    .no-p-margin p {
        margin: 0 0 2px;
    }
    

    尝试为div中的p个孩子添加专门的no-p-margin标记,但不要。。。不了解此填充的设置。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Evgeny Gil    7 年前

    我的错。。。为了存储数据,我使用MongoDB,当我在其中插入数据时,它会按原样保存(使用),所以当我调用 != botcfg.body 在jade模板中,我接收文本的存储方式,在解析参数时添加regex botcfg.body = req.body.body.replace(/(\r\n|\n|\r)/gm,""); 一切都很顺利。也许这可以帮助其他人。 不需要CKEditor配置。