В моей CMS у меня есть много DIV на одной HTML-странице со встроенным TinyMCE. У каждого DIV есть собственный экземпляр (#mce_0 и #mce_{randomnumber} )
Каждый редактируемый DIV находится внутри одного DIV-оболочки (нередактируемого) с определенным идентификатором (#MyWrapper).
Все, что находится внутри #MyWrapper (все DIV редактора), должно быть сохранено в ОДНОМ файле.
Когда я использую javascript для получения html из #MyWrapper, он работает хорошо, за исключением того, что я получаю HTML, используемый внутри редактора, вместо РЕАЛЬНОГО HTML, который я хочу иметь. Например, iframe (видео YouTube) превращаются в пример изображения вместо реального iframe.
Итак, затем я попытался получить HTML-код из редакторов (тот же HTML-код, который отображается, когда вы нажимаете «исходный код» внутри редактора).
Но я не преуспел.
Вот как работает мой существующий (работающий, но не получающий настоящий HTML) скрипт:
1) Получить весь HTML-контент в #MyWrapper
2) Jquery: добавьте его в не редактируемый и скрытый DIV под названием #ForSaving , чтобы я мог получить легкий доступ для его сохранения.
3) Затем у меня есть javascript, чтобы сохранить его в файл.
Сегодня задача №1 (выше) решается с помощью этого:
jQuery("#ForSaving").html(jQuery(".MyWrapper").html());
НО у меня должно быть решение для получения реального HTML из нескольких встроенных редакторов в DIV.
Я пробовал tinymce.get('...'); и т. д., но я не могу получить HTML-код из нескольких редакторов.
Любая помощь приветствуется. :-)
Дополнение: я нашел это, выполнив поиск «tinymce несколько экземпляров getcontent»: text-area">Как получить содержимое tinyMCE из более чем одной текстовой области
Тариама добавил ответ, говорящий использовать это:
for (i=0; i < tinyMCE.editors.length; i++){
var content = tinyMCE.editors[i].getContent();
alert('Editor-Id(' + tinyMCE.editors[i].id + '):' + content);
}
Однако я не понимаю, как совместить это с:
jQuery("#ForSaving").html(jQuery(".MyWrapper").html());
Я не очень хорошо разбираюсь в javascript-кодировании.
Я прошу вас помочь мне совместить их. Спасибо :-)