답변:
iFrame의 부모에서 찾으려면 다음을 사용하십시오.
$('#parentPrice', window.parent.document).html();
$ () 랩퍼의 두 번째 매개 변수는 검색 할 컨텍스트입니다. 기본적으로 문서입니다.
jquery를 사용하여 iFrame 상위 페이지에 액세스하는 방법
window.parent.document.
jQuery는 JavaScript를 대체하는 라이브러리가 아닌 JavaScript 위에있는 라이브러리입니다. 모든 마지막 JavaScript 표현식을 $와 관련된 것으로 바꿀 필요는 없습니다.
상위 문서에서 jQuery 인스턴스를 찾아야하는 경우 (예 : 플러그인이 제공하는 유틸리티 함수 호출) 다음 구문 중 하나를 사용하십시오.
window.parent.$
window.parent.jQuery
예:
window.parent.$.modal.close();
jQuery가 window
객체에 연결되고 이것이 무엇입니까 window.parent
.
다음 window.parent
과 같이 iframe 내에서 부모 창의 요소에 액세스 할 수 있습니다 .
// using jquery
window.parent.$("#element_id");
다음과 같습니다.
// pure javascript
window.parent.document.getElementById("element_id");
중첩 된 iframe이 둘 이상 있고 최상위 iframe에 액세스하려는 경우 다음 window.top
과 같이 사용할 수 있습니다 .
// using jquery
window.top.$("#element_id");
다음과 같습니다.
// pure javascript
window.top.document.getElementById("element_id");
여기서 게임에 약간 늦을 수도 있지만 방금이 환상적인 jQuery 플러그인 https://github.com/mkdynamic/jquery-popupwindow를 발견했습니다 . 기본적으로 onUnload 콜백 이벤트를 사용하므로 기본적으로 자식 창 닫기를 수신하고 그 시점에서 필요한 작업을 수행합니다. 따라서 자식 창에 JS를 작성하여 부모에게 다시 전달할 필요가 없습니다.
여러 가지 방법이 있습니다.
I) 주 부모님에게 직접 연락하십시오.
엑사. 내 자식 페이지를 iframe으로 바꾸고 싶습니다.
var link = '<%=Page.ResolveUrl("~/Home/SubscribeReport")%>';
top.location.replace(link);
여기 top.location 은 부모를 직접 가져 옵니다 .
II) 부모를 하나씩 구하십시오.
var element = $('.iframe:visible', window.parent.document);
여기에 하나 이상의 iframe이있는 경우 활성 또는 표시 가능한 하나를 지정하십시오.
부모님을 더 얻으려면 이런 식으로 할 수 있습니다.
var masterParent = element.parent().parent().parent()
III) 식별자로 부모를 얻는다.
var myWindow = window.top.$("#Identifier")