CKEditor,数学和内容过滤器

时间:2017-09-11 20:52:05

标签: javascript math ckeditor

我已配置CKEditor以删除所有边距,颜色和字体样式。

这是CKEditor配置:

CKEDITOR.editorConfig = function( config ) {
    // Add WIRIS to the plugin list
    config.extraPlugins += (config.extraPlugins.length == 0 ? '' : ',') + 'ckeditor_wiris';
    // Allow all elements
    config.allowedContent = {
        $1: {
            // Use the ability to specify elements as an object.
            elements: CKEDITOR.dtd,
            attributes: true,
            styles: true,
            classes: true
        }
    };
    // Disallow font, margin, color styles and span elements
    config.disallowedContent = '*{font*}; *{margin*}; *{color*}; span;';
};

我正在使用WIRIS插件来创建数学方程式。当我使用这个插件创建一个数学方程时,我可以在CKEditor中看到方程式,当我保存它时,它会按预期保存。 但是当我想要编辑时,等式不再是数学等式而只是简单的文本。 我认为我的配置是删除仅保留文本的数学元素。但我不知道我的配置有什么问题,因为我允许所有HTML元素仅禁用我不想要的元素。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

通过将此添加到config.js找到了一种hacky方法:

    config.extraAllowedContent = 'math[xmlns]; maction; maligngroup; malignmark; menclose; merror; mfenced; mfrac; mglyph; mi;' +
    'mlabeledtr; mlogdiv; mmultiscripts; mn; mo; mover; mpadded; mphantom; mroot; mrow; ms; mscarries; mscarry;' +
    'msgroup; mstack; msline; mspace; msqrt; msrow; mstack; mstyle; msub; msup; msubsup; mtable; mtd; mtext; mtr;' +
    'munder; munderover; semantics; annotation; annotation-xml;';