CKEditor предотвращает удаление атрибута id - PullRequest
0 голосов
/ 28 мая 2018

in CKEditor Я пытаюсь предотвратить удаление атрибута id из тегов html, таких как:

<p id='hello'>Hello</p>

, но эта конфигурация ckeditor не работает, и я не могу найти другое решениеОб этой проблеме

<script>
    $(function () {
        CKEDITOR.replace('description', {
            allowedContent: true,
            autoGrow_onStartup: true,
            extraAllowedContent: '*[id]',
        });
    });
</script>

Не могли бы вы помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 29 мая 2018

Прежде всего, использование allowedContent: true и extraAllowedContent: '*[id]' не имеет смысла.Первая опция отключает ACF, разрешая все, а вторая расширяет ее.Нет смысла разрешать дополнительный контент, если все уже разрешено.Вам следует использовать одну из этих двух опций, в зависимости от того, хотите вы включить ACF или нет.

При вставке HTML-кода, например <p id='hello'>Hello</p>, в режим источника, а затем при переключении на wysiwyg и обратно к источнику сохранится атрибут id.без изменений (также с текущей конфигурацией), вы не получите тот же результат, когда будете копировать / вставлять такой элемент.Помните, что в соответствии со спецификацией HTML атрибут id должен быть уникальным, чтобы в области содержимого редактора (документа) не было группы <p id='hello'>Hello</p>.В таком случае редактор автоматически удаляет атрибут id, чтобы он не дублировался и его нельзя было отключить.

Если вы хотите идентифицировать элементы на основе того же id, тогда яЯ бы предпочел вместо этого использовать data-* атрибуты или CSS-классы (они не будут удалены во время копирования / вставки).Если вы требуете, чтобы каждый элемент имел id, вы можете использовать обработчик событий paste , где вы можете просто проверить, имеет ли элемент в вставленных данных атрибут id, и добавить его со случайным значением, если оно не«т.

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