TinyMCE iframe кодирует содержимое

Вставка iframe в TinyMCE с содержимым HTML, а не с атрибутом src кодирует все и нарушает содержимое.

Например: вставка этого через плагин View Source или Embed:

<iframe><p>hello</p></iframe>

Приведет к этому, когда вы снова просмотрите источник:

<iframe width="300" height="150" data-mce-fragment="1">&amp;lt;P&amp;gt;hello&amp;lt;/p&amp;gt;</iframe>

Есть ли способ остановить это или настройка в init, которая вызывает это?

Если кто-то задается вопросом, зачем мне это нужно, а не использовать src, это потому, что я пытаюсь отформатировать статьи для новой вещи Facebooks Instant Article, которая требует, чтобы встроенные сообщения/твиты и т. д. были обернуты в формат <figure><iframe>[code]</iframe></figure>.


person MrLewk    schedule 10.02.2017    source источник
comment
Когда я загружаю ваш HTML в TinyMCE, я не получаю экранированные данные, которые вы предлагаете. Можете ли вы создать скрипт TinyMCE с вашей конфигурацией, который приведет к этому?   -  person Michael Fromin    schedule 13.02.2017
comment
@MichaelFromin Я обнаружил, что вызывало эту проблему ранее, я добавил это как принятый ответ ниже.   -  person MrLewk    schedule 13.02.2017


Ответы (1)


Я понял, почему это произошло, когда пытался сузить круг проблемы, протестировав ее на fiddle.tinymce.com. Эта проблема с кодировкой не возникла на скрипке, поэтому я удалил свой собственный init, думая, что это, возможно, плагин codemirror, но это оказалось fontawesome 2.0.6 плагин (сейчас он на 2.0.8, но я не смог заставить эту версию работать, поэтому не уверен если он изменил способ работы с версии 2.0.6).

Плагин выполняет var content = parser.parseFromString(e.content, 'text/html'); для BeforeSetContent и GetContent, чтобы внести некоторые нередактируемые изменения класса. Это привело к тому, что некоторые элементы HTML стали кодироваться в исходном коде.

Короче говоря, я удалил парсер и изменил плагин, и моя проблема решена!

person MrLewk    schedule 13.02.2017