Шаги по воспроизведению
- Инициализируйте редактор TinyMCE 6.x
- Добавьте HTML-содержимое, содержащее элемент с дочерними элементами, например:
Код: Выделить всё
i am child
- Обратите внимание, что внутреннее содержимое шаблона удалено из DOM.
Элементы шаблона должны сохранять свое внутреннее содержимое (DocumentFragment) так же, как это было в TinyMCE 5.x.
Фактическое Поведение
В TinyMCE 6.x внутреннее содержимое элемента шаблона полностью удалено. При проверке DOM элемент шаблона существует, но не содержит дочерних элементов.
Попытка обходного пути
- Измененная конфигурация схемы:
Код: Выделить всё
custom_elements: 'template',
non_empty_elements: 'td,th,iframe,video,audio,object,script,template,style,textarea',
valid_children: '+p[template],+div[template],+tr[template],+tbody[template],+td[template]',
- Отключена проверка HTML:
Код: Выделить всё
schema: 'html5', // instead of html5-strict
verify_html: false,
validate: false,
cleanup: false,
- Добавлены настройки сохранения контента:
Код: Выделить всё
preserve_cdata: true,
raw: true,
forced_root_block: false,
Среда
- Версия TinyMCE: 6.x (проблема не существует в 5.x)
- Браузер: Chrome, Firefox, Safari (все ведут себя одинаково)
- Реализация: Vue.js (но проблема появляется) быть с ядром TinyMCE)
Похоже, это изменение в том, как TinyMCE 6.x обрабатывает нестандартные элементы HTML или теневые компоненты DOM. В нашем приложении мы используем элементы шаблона для условной видимости, и это изменение существенно влияет на наш рабочий процесс управления контентом.
Подробнее здесь: https://stackoverflow.com/questions/796 ... ng-removed
Мобильная версия