programing

iframe에서 상위 창의 요소에 액세스

nasanasas 2020. 11. 17. 08:10
반응형

iframe에서 상위 창의 요소에 액세스


전화 할 수있는 페이지가 있습니다 parent.php. 이 페이지 iframe에는 제출 양식이 있고 그 밖에 ID가 "target"인 div가 있습니다. iframe에서 양식을 제출하고 성공하면 대상 div를 새로 고칠 수 있습니까? 새 페이지를로드하거나 뭔가?

편집 : 대상 div는 상위 페이지에 있으므로 기본적으로 iframe 외부에서 부모에 대한 jQuery 호출을 예를 들어 볼 수 있는지 질문합니다. 그리고 어떻게 보일까요?

편집 2 : 그래서 이것은 내 jquery 코드가 지금 어떻게 생겼는지입니다. iframe 페이지에 있습니다. div #target은 parent.php에 있습니다.

$(;"form[name=my_form]").submit(function(e){     
 e.preventDefault; 
 window.parent.document.getElementById('#target'); 
 $("#target").load("mypage.php", function() { 
 $('form[name=my_form]').submit(); 
 }); 
 })

스크립트가 활성 상태인지 여부는 양식이 성공적으로 제출되지만 대상에는 아무 일도 일어나지 않습니다.

편집 3 :

이제 iframe 내의 링크에서 상위 페이지를 호출하려고합니다. 그리고 거기에서도 성공하지 못했습니다.

<a href="javascript:window.parent.getElementById('#target').load('mypage.php');">Link</a>

나는 당신이 그것을 얻기 위해 당신의 호출에서 "#"때문에 당신의 요소를 찾지 못하는 것이 문제라고 생각한다.

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

jquery를 사용하는 경우 # 만 필요합니다. 여기에 있어야합니다.

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

다음 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");

iframe 안에 아래 js가 있고 ajax를 사용하여 양식을 제출하십시오.

$(function(){

   $("form").submit(e){
        e.preventDefault();

       //Use ajax to submit the form
       $.ajax({
          url: this.action,
          data: $(this).serialize(),
          success: function(){
             window.parent.$("#target").load("urlOfThePageToLoad");
          });
       });

   });

});

iframe에서 window.parent를 사용할 수 있다고 생각합니다. window.parent는 부모 페이지의 창 개체를 반환하므로 다음과 같이 할 수 있습니다.

window.parent.document.getElementById('yourdiv');

그런 다음 해당 div로 원하는 것을 수행하십시오.

참고 URL : https://stackoverflow.com/questions/7027799/access-elements-of-parent-window-from-iframe

반응형