2012-08-06 4 views
0

나는 iframe이 그의 내용을 생성 할 때, 나는 그의 몸 오순절 자바 스크립트에 액세스해야하기 때문에 필요하지만 때로는 왜 그런지, 몸체 객체가 존재하지 않는 이유를 모르지만 ... 나는 종종 iframe , 나는 그것을 개체에 삽입하고 다른 개체에 삽입하고 그것을 복구 할 때, 나는 시체 개체 disapear 및 이유를 모르겠다 :/나는 iframe 개체를 사용하여 약간의 complexe .. 생각 Logged .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

시나리오를 설명합니다. 실제 코드에서이 사실을 보여 주시겠습니까? – bennedich

+0

내 코드의 일부로 내 게시물을 업데이트했습니다 ^^ – BlackMario

답변

0

Iframe을 사용하는 고통이다 (내 영어 수준에 대한 죄송합니다 내가 프랑스어 해요) 당신이 사용할 수있는 대안이 있습니까. 귀하의 질문에오고, 난 당신이 다음과 같이, 단지 의사 사용할 수 있다고 생각 : 나는 내 문제를 해결 한

function getContentFromIframe(iFrameName) 
{ 

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

    //Do whatever you need with the content  

} 
+0

예, 알고 있지만 내 백업으로 콘텐츠를 업데이트 할 수 없기 때문에 body 객체가 다시 iframe을 다시 삽입 할 때 다시 만들어지지 않습니다. / – BlackMario

0

를, 몸이 불안정해질 자바 스크립트 속성 "대해 designMode", 그래서 대신에 "대해 designMode이 될 것 같다 "bodyEditable"body 속성을 사용하여 iframe을 편집 가능하게 만들고 모든 것이 효과적입니다!