2011-09-02 5 views
0

iframe을 사용하여 페이지를 새로 고치지 않고 이미지를 업로드 할 페이지를 만듭니다. 내가하고 싶은 일은 iframe을 통해 양식으로 이미지를 업로드하고 그 결과를 조건부 작업에 사용하는 것입니다. 나는이 방법을 시도 :조건부 판단을 위해 데이터를 사용하기 위해 iframe에서 데이터 읽기

<iframe id="iframe" name="iframe">Inner code here, form and all inputs. </iframe> 
<script> 
data=document.getElementById("iframe").innerHTML; 
</script> 

그러나 iframe을 소스 속성으로 만 작업 할 때 문제가 해결되지 않는합니다. 그런 다음 창 속성을 사용하여 iframe의 본문을 가져 오려고했습니다.

data=window.frames['iframe'].document.body.innerHTML; 

하지만 이는 작동하지 않습니다. 도움. 미리 감사드립니다.

답변

1

내가하는 일에 대해 완전히 명확하지 않으므로 내가 게시 한 코드에 잠재적 인 문제점이있는 것으로 나열 할 것입니다.

  • iframe 태그를 사용할 때 여는 태그와 닫는 태그 사이의 텍스트는 iframe을 지원하지 않는 브라우저에서만 표시됩니다. iframe의 내용은 iframe 요소의 src 속성에 지정된 url에서로드됩니다.
  • iframe의 내용이 포함 된 문서를 얻으려면 iframe 요소에 Window 개체가 아닌 IFrame 개체로 액세스해야합니다. 이렇게하려면 document.getElementById()을 사용해야합니다 (첫 번째 코드 스 니펫에서와 마찬가지로). 배열 window.frames[]을 사용할 수 없습니다.
  • 두 번째 코드 조각에서 인덱스의 프레임 이름을 사용하여 window.frames[] 배열의 요소에 액세스하려고합니다. 이것은 허용되지 않습니다. 배열에 수치 인덱스를 사용하거나 프레임의 이름을 윈도우의 속성으로 사용하여 프레임에 액세스 할 수 있습니다 (예 : window.iframe.
  • document.getElementById()을 사용하여 IFrame 개체를 얻은 후에는 해당 개체의 contentDocument 속성을 사용하여 iframe의 콘텐츠가있는 문서를 가져올 수 있습니다. 이 객체를 사용하면 getElementById 등을 호출하여 iframe에서 원하는 내용을 검색 할 수 있습니다.
  • 마지막주의 사항 : 동일 출처 정책은 다른 창이나 프레임에서 iframe의 속성에 액세스하는 능력을 제어한다는 점에 유의하십시오. 특히 iframe 소스의 도메인은 iframe의 속성에 액세스하려는 스크립트가 포함 된 문서의 도메인과 동일해야합니다.
+0

도움을 얻으려면 Thnx ...하지만 내 대답이 있습니다. – Sourabh

관련 문제