Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Ckeditor удаляет пустые теги

Автор вопроса: RoyОтветов: 4

Есть проблема с CKEditor, когда пользователь вставляет пустые теги:

(в режиме исходного кода HTML)

<a href="fds" class="doIt"></a>

Когда он нажимает на источник, а затем снова, тег "А" исчезает. Я провел небольшое исследование и обнаружил, что это происходит из-за того, что в ckeditor.js есть очень сложная функция, которая проверяет, есть ли значение внутри элемента. Если его нет, CKEditor удаляет тег.

  • Пробовали удалить функцию? Waleed Khan 02.08.2012
  • Это создает хаос в моем коде, поскольку некоторые из моих так называемых пустых элементов div на самом деле имеют фоновые изображения, но CKEditor все равно и удаляет их, тем не менее... Stefan 28.11.2018

javascriptjqueryckeditorfckeditor

Ответы

Ответ 1 · Mike Brake

Я нашел решение для этой конкретной проблемы, с которой я столкнулся, с тегом

Исходный ответ, который я получил от ленты CKEditor ‹i› Tag

Исправление или настройка (вы называете это) для этого заключается в том, чтобы установить следующее в ckeditors config.js:

// ALLOW <i></i>
config.protectedSource.push( /<i[\s\S]*?\>/g ); //allows beginning <i> tag
config.protectedSource.push( /<\/i[\s\S]*?\>/g ); //allows ending </i> tag

Ответ 2 · Mauricio

Я знаю, что это старо, но в CKEDITOR 4.x вы можете сделать:

CKEDITOR.dtd.$removeEmpty.ElementHere = 0;

Замените ElementHere любым тегом, который вы хотите. Например, разрешить пустые теги i для значков:

CKEDITOR.dtd.$removeEmpty.i = 0;

Ответ 3 · рейтинг -1 · kasdega

Если это ни на что не влияет, попробуйте добавить &nbsp; в свой тег A. ckeditor проверяет, очищает и очищает html. Очевидно, ему не нравятся пустые теги привязки.

Ответ 4 · рейтинг -1 · Matthew Shine

Попробуйте добавить эту строку в файл config.js:

CKEDITOR.config.allowedContent = true;

Надеюсь это поможет

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы