【发布时间】:2012-02-07 12:31:44
【问题描述】:
我目前正在尝试稍微自定义 OpenCms(基于 Java 的开源 CMS),它使用嵌入式 FCKEditor,这是我尝试使用 js / jQuery 访问的内容。
我尝试获取 iframe 的 html 内容,但是总是返回 null。 这就是我尝试从 iframe 中获取 html 内容的方式:
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 (!!)
查看屏幕截图,我要访问的是“LargeNews1/Teaser”html 部分,该部分当前包含值“Newsline en...”。 下面还可以看到 Firebug 中的 html 结构。
但是,$(editFrame).contents().html() 返回 null,我不知道为什么,而 $(editFrame).attr('id') 返回正确的 id。
iframe 内容/FCKEditor 在同一个站点/域上,没有跨站点问题。
iframe 的 HTML 代码在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');
【问题讨论】:
标签: javascript jquery dom iframe