2010-05-21 5 views
6

가능합니까?콘텐츠를 잃지 않고 DOM을 따라 iframe을 이동하는 방법은 무엇입니까?

이동을 시도했지만 iframe 콘텐츠가 사라졌습니다.

iframe의 내용을 가져 와서 새 장소에 넣으려고했지만 모든 처리기가 사라졌습니다.

새로운 jQuery 1.4.2 기능을 사용하여 동일한 작업을 시도했지만 모든 이벤트가 함께 복제됩니다.

그러나 그것은 작동하지 않습니다 :)

그래서 나는 도움을 여기에 요청하기로 결정했습니다.

콘텐츠를 잃지 않고 문서의 다른 위치로 지긋 지긋한 iframe을 이동하는 방법은 무엇입니까?^_^

감사

추가

: 여기

txtad_iframe = ad_container.find('iframe');     
its_contents = txtad_iframe.contents(); 
its_body = its_contents.find("div:first").clone(true).insertAfter(cthis.find('#photos')); 

나는 새 광고 컨테이너에 내용을 복사하기 위해 노력하고있어. 그러나 그것은 효과가 없습니다. 컨텍스트 배너는 클릭 이벤트에 반응하지 않습니다.

컨테이너로 ad_container를 이동하려고했지만 iframe 본문 콘텐츠가 사라졌습니다.

+0

같은 것을 수행 할 수 있습니다 생각합니다. –

+0

iframe 주위를 이동하고 iframe을 제자리에 남겨 봤습니까? 이동 한 것 같습니다. 당신은 또한 그것에 약간의 CSS가있는 div로 iframe을 감쌀 수 있고 움직일 div를 업데이트 할 수 있습니다. 그것은 절대 위치 지정으로 쉽습니다. –

+0

당신은 이해가 안되네, 나는 화면을 따라가 아니라 DOM 트리를 따라 움직여야한다. – Somebody

답변

1

iframe의 항목이 iframe에 명시 적으로 지정되어 있지 않으면 바인딩되지 않습니다. 즉, iframe 내용은 부모 윈도우에서 바인딩 이벤트를 상속받지 않습니다. iframe에서 먼저 바인딩 한 다음 물건을 이동해야합니다.

라고 생각합니다.

편집

나는 당신이 그렇게 우리는 당신이 시도했습니다 정확하게 볼 수있는 몇 가지 코드를 게시하시기 바랍니다

its_body = its_contents.find("div:first").clone(true); 
$(its_body).insertAfter(cthis.find('#photos')); 
+1

복제 (true)가 도움이되지 않습니다. 복제 할 바운드 이벤트를 찾을 수없는 것 같습니다. 그리고 콘텐츠를 다시로드하지 않고 iframe을 이동하는 것은 불가능한 것처럼 보입니다. – Somebody

관련 문제