ckeditor, кажется, переупорядочивает элементы - PullRequest
0 голосов
/ 18 февраля 2019

При вставке в CKEditor 4 кажется, что это переупорядочивание элементов.

Например, я помещаю содержимое в предупреждение, чтобы увидеть, и вот как оно должно выглядеть:

<div class="youtube-embed-wrapper" data-video-url="https://www.youtube-nocookie.com/embed/EG05-Y_C4EU?rel=0" data-video-preview="/cache/youtube_thumbs/1b6e910f6416a7c24e151551dc4ef844.jpg" style="position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden"><iframe width="640" height="360" src="https://www.youtube-nocookie.com/embed/EG05-Y_C4EU?rel=0" style="position:absolute;top:0;left:0;width:100%;height:100%"frameborder="0" allowfullscreen></iframe></div>

Тем не менее, когда он фактически вставлен, он заканчивается следующим образом:

<div class="youtube-embed-wrapper" data-video-preview="/cache/youtube_thumbs/1b6e910f6416a7c24e151551dc4ef844.jpg" data-video-url="https://www.youtube-nocookie.com/embed/EG05-Y_C4EU?rel=0" style="position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden"><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube-nocookie.com/embed/EG05-Y_C4EU?rel=0" style="position:absolute;top:0;left:0;width:100%;height:100%" width="640"></iframe></div>

Как видите, теги data-video-url и data-video-preview были поменяны местами, и яне могу понять, почему.

При вставке используются стандартные функции CKEditor (где «content» - первый приведенный выше код в кавычках):

var element = CKEDITOR.dom.element.createFromHtml(content);
var instance = this.getParentEditor();
instance.insertElement(element);

Кто-нибудь еще видел это раньше?Я попытался найти, но ничего не могу найти.

1 Ответ

0 голосов
/ 18 февраля 2019

Чтобы отключить сортировку атрибутов HTML, используйте:

CKEDITOR.on( 'instanceReady', function( ev ) {
    ev.editor.dataProcessor.writer.sortAttributes = 0;
});

Источник: https://stackoverflow.com/a/41202438/1911755

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