CKEditor 4.6有时会在不遵循以下配置的情况下剥离<span>属性

时间:2018-10-11 11:27:07

标签: javascript ckeditor ckeditor4.x

我的CKEditor 4.6有一些奇怪的行为,有时它会从范围中剥离一个属性。

我有一个自定义插件,它添加了@mentions,并插入了一个用作占位符的span,以供以后解析服务器端时使用,

var placeholder = '<span class="mention" contenteditable="false" mention-id="' + clickedSuggestion.Id + '">@' + clickedSuggestion.Title + '</span>';
var mentionElement = CKEDITOR.dom.element.createFromHtml(placeholder);
editor.insertElement(mentionElement);

在我的配置中,我允许这些元素:

editor.config.extraPlugins += ',mention'; // my custom plugin
editor.config.extraAllowedContent = { span: { classes: 'mention', attributes: 'contenteditable' } };

现在有时候(可能是20次中的1次)发生的是,提及ID属性被剥夺了。

// what sometimes happens
<span class="mention" contenteditable="false">@foo</span>

// usual output
<span class="mention" contenteditable="false" mention-id="bar">@foo</span>

我意识到extraAllowedContent配置中没有提及ID,这是造成此问题的逻辑原因。但另一方面,它在大多数情况下都很好用!

我不明白为什么属性不会一直被删除? 谢谢!

编辑:因此,在使用editor.insertElement()时似乎没有应用extraAllowedContent,因此可以排除错误的配置。但是在createFromHtml或insertElement调用期间,仍然有一个属性消失。

0 个答案:

没有答案