2013-02-20 2 views
4
  • iframe이있는 customer.jsp 페이지가 있습니다.
  • iframe에는 버튼이 있습니다. 버튼을 클릭하면 customer.jsp 페이지 안에있는 대화 상자에 액세스해야합니다.
  • window.parent.document.getElementById('formDialog');을 시도했지만 null 값을 받았습니다.
+0

정답은 500 개입니다. 하나를 선택하십시오. –

답변

0

해당 Iframe이 부모의 컨텍스트 내에서 해당 요소를 얻을 수 있습니다 당신은 널 (null)을 얻는 경우에 당신은 parent.document.getElementById('formDialog');

을 통해 부모 창 요소에 액세스 할 수 있습니까? 올바른 ID와 올바른 부모를 참조하고 있습니까?

2

원본이 아닌 리소스에 iframe과 부모 문서 간의 통신이 불가능합니다. iframe 및 포함 페이지가 동일한 호스트, 포트 및 프로토콜에있는 경우에만 작동합니다 (예 : http://example.com:80/1.html와 iframe에

Assuming both resources are from the same origin 

http://example.com:80/2.html는 window.parent는 부모 문서가 아닌 문서 객체 자체의 전역 객체를 참조합니다. 나는 당신이 사용해야한다고 믿는다 parent.document.getElementById('formDialog')

0

당신의 코드에서 뭔가를 잊어 버린 것처럼 보입니다. 이 시도 :

6
window.parent.document.getElementById('target'); 

두 개의 리소스가 동일한 기원에 있어야합니다. 희망이 도움이됩니다. iframe에서 버튼 클릭으로 CallParentFunction이 있다고 가정 해 보겠습니다.

function CallParentFunction(){ 
    if (top && top.opener && top.opener.top) { 
     top.opener.document.getElementById('formDialog'); 
    } 
     else { 
     top.document.getElementById('formDialog'); 

    } 
} 
0

이 시도

window.parent.window.document.getElementById('formDialog'); 
관련 문제