Как остановить CKEditor 3.6.3.7474 от удаления тегов <script>


8

При Full HTMLвключенных и связанных фильтрах CKEditor удаляет любые <script>теги из содержимого, которое он редактирует. Редакторы, которые создают контент для этого конкретного сайта, должны иметь возможность встраивать подобные вещи в контент, который они создают:

    <img src="http://s2.thingpic.com/images/TD/zKWJQJiFBsp3oP1etNC1.png" width="560" class="alwaysThinglink"/>
<script charset="utf-8" src="//www.thinglink.com/jse/embed.js#286861458501795840"></script>

Теоретически мы можем сделать это, отключив CKEditor и работая напрямую с HTML, но на практике это не работает: редакторы не разбираются в HTML. Они знают достаточно, чтобы временно выйти из режима расширенного текста, вставить его в вышеописанное и затем переключиться обратно в режим расширенного текста. Но если они снова собираются редактировать этот контент, CKEditor удаляет <script>теги при открытии контента.

Как я могу остановить это поведение и заставить CKEditor оставить <script>метки на месте? Есть ли где-то скрытые настройки для этого?

Кстати, мы используем CKEditor вместе с Wysiwyg 7.x-2.1модулем.

И да, в целом разрешение <script>очень плохо, но в этом случае единственные люди, которые имеют доступ к формату Full HTML, - это редакторы (которым доверяют).

Спасибо!

Ответы:


14

Вы можете решить эту проблему, перейдя в раздел «Дополнительные параметры» своего профиля CKEditor и добавив следующую строку в текстовую область: config.allowedContent = true;

Это решило проблему для меня.


1
я не вижу расширенный вариант в d8, где это будет?
Диана

9

Я тоже столкнулся с этим, и это было очень неприятно.

Для меня проблема была с плагином Teaser Break, который связан с модулем Wysiwyg. Отключение этой кнопки для моего профиля Wysiwyg решило проблему для меня.

Вы можете отключить плагин Teaser Break wysiwyg в разделе Администрирование ›Конфигурация› Создание контента ›Профили Wysiwyg (/ admin / config / content / wysiwyg).

Мне очень интересно узнать, решает ли это и вашу проблему, или вы столкнулись с другой проблемой. Я только что подал новую ошибку для этого на http://drupal.org/node/1801166 .


Спасибо! "config.allowedContent = true;" не работает для меня
Андрей Миногин

2

Я думаю, что вы ищете настройки:

  • страница admin / config / content / ckeditor / edit / advanced (замените advanced именем вашего профиля).
  • вкладка Расширенный контентный фильтр.
  • установить на Отключено.

В качестве альтернативы вы можете установить для него значение «Включено» и добавить тег сценария в «Дополнительное разрешенное содержимое», но с разрешенными сценариями вы также можете разрешить все, что угодно.

Этот параметр относится к модулю CKEditor, поэтому он действителен, когда вы не используете модуль Wysiwyg. При использовании wysiwyg <я думаю, вы должны выяснить, что делает этот параметр, возможно, установить некоторые параметры в CKEditor.

Кстати: зачем использовать wysiwyg между, а не переходить на полный набор функций CKEditor. Я прекратил использовать wysiwyg, когда вышел CKeditor 4, и wysiwyg долгое время не мог предложить поддержку для этого. Как я всегда и только использую CKEditor, какой смысл иметь wysiwyg между ними?


0

Вы проверили настройки Textformat? Чтоб не "ограничивать теги HTML" проверено? В любом случае, я думаю, что модуль Ckeditor без модуля WYSIWYG более стабилен.


plz развернуть детали
monymirza

0

Старый старый вопрос, но другой способ справиться с этим - отключить WYSIWYG по умолчанию. Если WYSIWYG не включается (включается / что угодно) в режиме редактирования, то тег сценария не удаляется. В моем случае это работает.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.