0

我正在寻找与 CKEditor 的 HTML 4 合规性,因为我们在后端使用 htmLawed 来过滤不良 JS/CSS/HTML 进入我们的数据库。到目前为止,我们已经设置了 htmLawed 来删除任何带有“style”属性的 HTML 元素。这非常适用于核心样式和字体大小/颜色,如我的配置所示:

    coreStyles_bold      : { element: 'b' },
    coreStyles_italic    : { element: 'i' },
    coreStyles_underline : { element: 'u' },
    coreStyles_strike    : { element: 'strike' },
    fontSize_style       :
    {
        element    : 'font',
        attributes : { 'size': '#(size)' }
    },
    colorButton_foreStyle :
    {
        element    : 'font',
        attributes : { 'color': '#(color)' }
    },
    colorButton_backStyle:
    {
        element : 'font',
        styles  : { 'background-color': '#(color)' }
    }

我遇到的问题是缩进。当我尝试缩进一个列表元素(例如“ul”或“ol”)时,CKEditor 会呈现如下所示的 HTML,并将其发送到服务器。HtmLawed 然后从 ul 元素中去除样式属性,并在我在前端显示列表时将其呈现为未缩进。

<ul style="margin-left: 40px;">
<li>Some Text Here</li>
</ul>

我的问题是......如何防止所有元素设置任何类型的样式属性?我希望 CKEditor 使用纯 HTML 进行格式化,因为我们只允许一组有限的格式化选项。我真的很想看到 CKEditor 生成的 HTML 看起来像这样:

<ul>
    <ul>
        <li>Some Text Here</li>
    </ul>
</ul>
4

1 回答 1

1

有两个不同的东西 - 缩进插件应该能够只缩进列表(改变它们的结构,不添加左边距),而不是块。此时一个插件做两个工作,没有意义。此补丁将在大约一个月内发布 - https://dev.ckeditor.com/ticket/10027

虽然,即使现在也可以将缩进配置为使用类而不是样式 - 请参阅该config.indentClasses选项。

于 2013-06-21T06:07:02.673 回答