1个回答

16

我找到了它:

特殊的配置选项:

            extraAllowedContent: '*[*]{*}(*)'

起到了作用。

所以我使用的构造函数是:

    $('.wysiwyg').ckeditor({
            toolbar : 'Basic',
            extraAllowedContent: '*[*]{*}(*)'
    });

注意,这是“额外”允许的内容选项,因此它不会覆盖默认设置。

更新:事实证明,我的特殊属性中有一些&符号,而CKEditor将它们替换为HTML实体&。我添加了这两个选项:

            entities: false,
            basicEntities: false,

但它们只在文本节点中防止了这种情况,而不是在属性内。然后我发现了这个选项:

            forceSimpleAmpersand: true

它起作用了。现在暂时可以,但是如果最终我必须将&作为任何值的一部分 - 实体而不仅仅是&(这通常在内容共享链接中需要) - 编辑器将会破坏它们,并将它们更改为普通的&。


3
如果链接上的数据属性是唯一引起问题的,我会进行以下限制:'a[data-]',或者对于任何标签,但只使用数据属性:'[data-*]'。 - secretwep
对于单个元素,即 section 元素,您可以使用 section[*]{*}(*) - Arvind K.
2
@secretwep 我遵循了那个建议,谢谢,但我认为应该是 '*[data-*]' 才能正确地允许数据属性。 - osbert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接