CKEditor 4.6 иногда удаляет атрибуты <span>без следующей настройки - PullRequest
0 голосов
/ 11 октября 2018

У меня есть какое-то странное поведение из моего CKEditor 4.6, когда он иногда удаляет атрибут из диапазона.

У меня есть собственный плагин, который добавляет @mentions и вставляет диапазон, используемый в качестве заполнителя для последующего анализа серверасо стороны, вот так:

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' } };

Теперь, что иногда случается (возможно, 1 из 20 раз), это упоминаниеАтрибут id удаляется.

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

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

Я понимаю, что в конфигурации extraAllowedContent отсутствует идентификатор упоминания, и это будет логической причиной проблемы.Но с другой стороны, он прекрасно работает в большинстве случаев!

Я не понимаю, почему атрибут не удаляется все время?Спасибо!

РЕДАКТИРОВАТЬ: Таким образом, кажется, что extraAllowedContent не применяется при использовании editor.insertElement (), так что это исключает неправильную конфигурацию.Но атрибут все еще исчезает во время вызова createFromHtml или insertElement.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...