0

iframe がいつ彼のコンテンツを生成するかを知る必要があります。なぜなら、彼の body whit javascript にアクセスする必要があるからです。それをオブジェクトに挿入し、別のオブジェクトに挿入するためにそれを回復します。これを行うと、ボディオブジェクトが消え、理由がわかりません:/ 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));
            }
        }

よろしくお願いします。

(私の英語レベルは申し訳ありませんが、私はフランス語です)

4

2 に答える 2

0

iframe は使用するのが面倒です。それらをほとんど制御できません。使用したい代替手段はありますか。あなたの質問に来て、私はあなたが以下のようなものを使うことができると思います.

function getContentFromIframe(iFrameName)
{

    var myIFrame = document.getElementById(iFrameName);
    var content = myIFrame.contentWindow.document.body.innerHTML;

    //Do whatever you need with the content    

}
于 2012-08-06T07:48:08.897 に答える
0

私は問題を解決しました。ボディが不安定になるのは「designMode」javascript属性のようです。そのため、「designMode」の代わりに「contentEditable」ボディ属性を使用してiframeを編集可能にし、すべて正常に動作しました!

于 2012-08-06T09:54:29.060 に答える