В настоящее время я пытаюсь немного настроить OpenCms (основанный на Java CMS с открытым исходным кодом), который использует встроенный FCKEditor, к которому я пытаюсь получить доступ, используя js/jQuery.
Однако я пытаюсь получить html-содержимое iframe, всегда возвращая значение null. Вот как я пытаюсь извлечь html-контент из iframe:
var editFrame = document.getElementById('ta_OpenCmsHtml.LargeNews_1_.Teaser_1_.0___Frame');
alert( $(editFrame).attr('id') ); // returns the correct id
alert( $(editFrame).contents().html() ); // returns null (!!)
Глядя на скриншот, я хочу получить доступ к html-разделу LargeNews1/Teaser, который в настоящее время содержит значения "Newsline en...". Ниже вы также можете увидеть структуру HTML в Firebug.
Однако $(editFrame).contents().html()
возвращает ноль, и я не могу понять, почему, тогда как $(editFrame).attr('id')
возвращает правильный идентификатор.
Контент iframe/FCKEditor находится на том же сайте/домене, межсайтовые проблемы отсутствуют.
HTML-код iframe находится на http://pastebin.com/hPuM7VUz
Обновлено:
вот решение, которое работает:
var editArea = document.getElementById('ta_OpenCmsHtml.LargeNews_1_.Teaser_1_.0___Frame').contentWindow.document.getElementById('xEditingArea');
$(editArea).find('iframe:first').contents().find('html:first').find('body:first').html('some <b>new</b><br/> value');