2009-09-21 4 views
1

누군가가 도움을 줄 수는 있지만 양식의 값과 3 ~ 4 단계 깊이 중첩 된 상위 양식의 iframe에 액세스해야합니다.DOM에 중첩 된 항목 값에 액세스하는 방법은 무엇입니까?

기본적으로 트리 계층 (DOM)은 다음과 같이 보인다 :

이제
<form name="formname" ....> 
    <iframe id="refframe"> 
    <form name="formname" ...>    ==> Level 3 
     <iframe id="iframe1">     ==> Level 4 

나는 (최상위 수준에서 액세스하고 싶다고, 레벨 3 (myValue 말)에서 항목 값이 부모 - 수준 1)

자바 스크립트를 사용하면 부모 최상위 수준에서이 항목 "myValue"에 어떻게 액세스 할 수 있습니까?

같은 iframe1

어떤 도움의 iframe이 ID 내에서 레벨 4에서 항목을 액세스하기로 간다/예는 많이 주시면 감사하겠습니다.

감사합니다.

<div class="tabs0"> 

<iframe id="refframe" width="1210px" height="584px" frameborder="0" align="left"

overflow="auto" src="http://www.abc.com" home="" name="Site1"> 
</iframe> 

</div> 

<div class="tabs1"> 
<iframe id="refframe" width="1210px" height="584px" frameborder="0" align="left" `overflow="auto" src="http://www.def.com" name="Site2">` 

가 어떻게의 src 값 내에서 액세스 할 수 있습니다 난 아직도 정보에 액세스하는 방법을 잘 모르지만, 나는 다음과 같은 HTML 코드가있는 경우 위에 근거

부모 창에서 탭 1 클래스 iframe, 즉

src = "http://www.def.com"

감사합니다.

+0

외부 도메인을 다루고 있는지 확인하십시오. –

답변

3

iframe의 콘텐츠가 부모 문서와 동일한 도메인에서로드 되었습니까? 그렇지 않은 경우 브라우저 보안 제한 (same domain policy)으로 인해 javascript를 통해 액세스 할 수 없습니다.

동일한 도메인의 사용자 인 경우 getElementById을 아무런 문제없이 사용할 수 있어야합니다.

1

id을 (예 : here, 7.5.2 절) - 복잡한 계층 구조를 탐색하지 않아도 원하는대로 정확하게를 수행 할 수 있습니다.

1
<form name="formname" .... id="form-first"> 
    <iframe id="one" src="iframe2.html"> 
    </iframe> 
</form> 


function iframeRef(frameRef) { 
    return frameRef.contentWindow ? frameRef.contentWindow.document : frameRef.contentDocument 
} 

var inside = iframeRef(document.getElementById('one')) 

var secondIframe = inside.getElementsByTagName('iframe') 
alert(secondIframe.id) // make sure theres an iframe with an id in the iframe2.html. 

당신은 iframe을 내부 기준을 잡아 iframeRef을 사용할 수 있으며, 단지 자식 iframe을에 도착하는 그 일을 계속 않습니다. 이것은 IE에서 작동합니다.

+0

참고 : iframe의 문서가 도메인에있는 경우에만 * 작동 *합니다. –

+0

RE : 귀하의 업데이트 - 귀하의 도메인에없는 경우 iframe 내용에 * 액세스 할 수 없습니다. –

+0

당신이 말하는 것을 이해하고 있지만 사실 iframe 내의 다른 사이트로 점프하고 있음에도 불구하고 내가 참조하는 모든 사이트에 실제로 액세스 할 수있는 인트라넷 유형 설정에서 실제로 작업하고 있습니다. 이를 기반으로 콘텐츠에 계속 액세스 할 수 있습니까? – tonyf

관련 문제