iframe细节操作?

时间:2012-08-06 07:43:43

标签: javascript iframe details

我需要知道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));
            }
        }

我希望你能提前帮助我。

(对不起我的英语水平,我是法国人)

2 个答案:

答案 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>