Actualmente estoy tratando de personalizar OpenCms (CMS de código abierto basado en Java) un poco, que está usando FCKEditor embedded, que es a lo que intento acceder usando js/jQuery .Obteniendo el contenido html de un iframe usando jQuery
Intento buscar el contenido html del iframe, sin embargo, obteniendo siempre nulo como devolución. Esta es la forma en que trato de buscar el contenido HTML del 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 (!!)
En cuanto a la pantalla, el lo que quiera acceder a la es la sección HTML la 'LargeNews1/Teaser', que actualmente tiene los valores "Newsline en ... ". A continuación, también puede ver la estructura html en Firebug.
Sin embargo, $(editFrame).contents().html()
devuelve nulo y no puedo entender por qué, mientras que $(editFrame).attr('id')
devuelve la identificación correcta.
El contenido iframe/FCKEditor está en el mismo sitio/dominio, no hay problemas entre sitios.
código HTML de marco flotante está en http://pastebin.com/hPuM7VUz
Actualizado:
aquí es una solución que funcione:
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');
Gracias, muchas respuestas útiles en total; Edité mi pregunta y agregué la solución final en la parte inferior. –
Esto funciona en Firefox, pero no en Chrome. Acabo de obtener . – user3411192