我需要知道iframe何时生成他的内容,因为我需要访问他的身体白色javascript但有时,我不知道为什么,身体对象不存在...我经常玩iframe,我将它插入一个对象,我恢复它将其插入另一个对象,当我这样做时,身体对象消失,我不知道为什么:/我认为iframe对象有点复杂使用。 ..
以下是我的代码的一部分:
field("fuse")._elt.onclick = function(oEvent){
var src=oEvent.srcElement.offsetParent.offsetParent.parentElement;
var ed1=field(src.previousSibling.id);
var ed2=field(src.nextSibling.id);
debugger;
if(ed1.getClassName() == "HTMLEditorField" && ed2.getClassName() == "HTMLEditorField"){
var p=ed1.getParentField();
var pp=p.getParentField();
var ind=p._index;
/* On retire le composant qui contient les 2 éditeurs */
/*Here when i remove p, which contains iframes, my iframe ed1 lost his contentWindow */
pp.removeChild(p);
p.removeChild(ed1);
/* On redéfinie les hauteurs et largeur de l'éditeur après l'avoir inséré à la place des 2 autres éditeurs */
pp.insertChild(ed1,ind);
/*And here when i insert it in an other object, ed1 recover his contentWindow and document but the body object of his document isn't created ... */
ed1.setWidth(p.getUserAttribute("width"));
ed1.setHeight(p.getUserAttribute("height"));
currentEditor=ed1;
/* Suppression de la barre d'espacement dans la liste des barres */
lSpacerField.remove(field(src.id));
}
}
我希望你能提前帮助我。
(对不起我的英语水平,我是法国人)
答案 0 :(得分:0)
使用iframe是一种痛苦,你几乎无法控制它们,你有没有其他你想要使用的选择。来到你的问题,我认为你可以使用类似下面的东西,只是伪代码:
function getContentFromIframe(iFrameName)
{
var myIFrame = document.getElementById(iFrameName);
var content = myIFrame.contentWindow.document.body.innerHTML;
//Do whatever you need with the content
}
答案 1 :(得分:0)
我已经解决了我的问题,似乎是“designMode”javascript属性会导致身体不稳定,所以我使用“contentEditable”body属性来代替“designMode”使我的iframe可编辑而且一切正常! / p>