Перейти к основному содержанию

Отображение кода в iframe

Опции.

Модуль CKEditor iFrame

Сперва я установил модуль CKEditor iFrame. Модуль действительно умеет вставлять фреймы, но только через ссылку.
Задача же уметь отображать произвольный изолированный html код.

Модуль ckeditor_html_embed

Далее я поставил модуль ckeditor_html_embed. Этот модуль действительно делает, что нужно, и, скорее всего, под многие задачи подойдет.
Однако полной изоляции отображаемого кода с этим модулем не будет. Содержимое модуль отображает в элементе <div class="raw-html-embed">, а не через <iframe>. Теги <html> , <body> , <head> удаляются. Css и JS из <head> отрабатывают, но могут быть перекрыты стилями темы.
Хороший вариант.
 

Кастомный молуль.

Для собственных нужд был написан кастомный модуль 

Document
code_preview.zip (5.08 КБ)


Данный модуль зависит от модуля highlight_js и расширяет форму вставки кода, добавляя в неё два чекбокса:

Настройка Show live preview — отобразить <iframe> с кодом сразу после поля с кодом.
Настройка Show live preview, hide source code — не отображать сам код, отобразить только <iframe>

Установка.

В настройке Текстовые форматы и редакторы включить фильтр Code Preview, зазместить его перед фильтром Highlight Js.