Я строю текстовый редактор, используя в качестве редактора iframe.
Я работаю над пунктом меню, который при щелчке позволяет пользователю написать блок кода, который затем оформляется с использованием подсветки синтаксиса Prism и добавляется в iframe с остальным текстовым содержимым.
При создании обычной веб-страницы любой код, завернутый в теги pre и code, мгновенно оформляется следующим образом:
Myпроблема в том, что я не могу найти способ заставить подсветку синтаксиса Prism работать в моем текстовом редакторе iframe (такая же проблема была бы с любой подсветкой синтаксиса).
Файл prism.css работает внутри iframe, но файл prism.js этого не делает.Я знаю это, потому что, когда функция запускается, вывод не был обработан файлом javascript, который добавляет классы, необходимые для изменения цветов, используя файл css:
Это изображение показывает, что происходит, когда вы нажимаете на пункт меню.HTML вставляется в iframe, но без какого-либо стиля.Затем, когда вы нажимаете кнопку предварительного просмотра, чтобы посмотреть, как выглядит сообщение в блоге, к тексту кодового блока не было применено никакого стиля, потому что prism.js не был запущен внутри iframe.
Я попытался включить скрипт внутритеги head самого iframe с классом "allow-scripts" и "allow-cross-origin", но это не сработало.
Я был бы очень признателен за любые идеи или решения для этого.
Вот мой код:
HTML:
JavaScript (функция вызывается при нажатии элемента меню ""):