我正在构建一个CMS应用程序,我现在正在为IE进行调试。但事情发生我无法理解。无法访问IE中的iframe内容
首先我有一个页面内容的div。我提取div的内容和JavaScript我创建一个iFrame并将其附加到div。这是为了制作WYSIWYG编辑器。然后,当我想将内容添加到iFrame时,问题就开始了。由于某些原因,IE无法访问iFrame的正文。我可以提醒iFrame的文档,它给了我[对象文档]或[对象HTMLDocument],但当我然后警告身体我得到空。
我用这个函数用于获取该文件的JavaScript对象的一部分:
iframedoc: function(aID) {
if (document.getElementById(aID).contentDocument){
return document.getElementById(aID).contentDocument;
} else {
var iFrame = document.getElementById(aID);
return iFrame.contentWindow.document;
}
},
,这就是我称之为的第一次:
tas[i].innerHTML = "";
tas[i].appendChild(ta_edit_functions);
tas[i].appendChild(ta_edit);
tas[i].appendChild(ta_result);
alert(ta.iframedoc(ta_edit_id));
ta.iframedoc(ta_edit_id).body.innerHTML = ta_edit_content;
ta.iframedoc(ta_edit_id).designMode = 'on';
在这里,我空的div ,添加一个包含所见即所得功能的div,iFrame和textarea以最终提交表单。
我在IE 8和9测试。最奇怪的是,当我在IE 8中首次调用iframedoc之前发出警报时,我突然发现了身体。
如果有人能够至少将我指向正确的方向,我将非常感激。我真的不知道发生了什么。
这绝对好像是这种情况!将代码添加到iFrame的onload事件中,表明首先添加了iFrame(使用设置所有具有相同类的div的循环),并且仅在该循环真正加载之后。接下来的问题是,我无法弄清触发函数的元素的id,这非常重要。调用'this'只是在IE8中获取窗口。你有什么想法如何去做这件事? – Raapwerk
我添加使用该onload事件: 功能addOnload(元件,本功能){ \t如果(element.attachEvent)返回 \t \t element.attachEvent( '的onload',本功能); \t else else element.addEventListener('load',funct,false); } – Raapwerk