2011-08-24 2 views
3

나는 부모에게 일부 페이지로드 검사 기능을 추가하기 위해 노력하고, 자식 창 자바 스크립트를JS : 검출 자식 창이로드 너무

내 목표를 사용하여 할 "각"시간은 부모로부터 "감지 할 때 창 ", 자식 창이 완전히로드 될 때마다 일부 코드를 실행합니다.


내 부모 창에 다음 코드 샘플을 사용

<script type='text/javascript'> 

childPage=window.open('http://www.example.com'); 

childOnLoad=childPage.addEventListener('load', LoadAndGo, true); 

function LoadAndGo() 
{ 
    if(confirm("Press a button")==true) 
    { 
     //childPage.removeEventListener ("load", childOnLoad, false); 
     childPage.top.location.href="http://www.example.com"; 
     //childOnLoad=childPage.addEventListener('load', LoadAndGo, true); 
    } 
} 
</script> 


이전 코드 부착 내 자식 창에로드 이벤트를 감지 한 후 다른 페이지로 리디렉션 "내가 클릭 한 후 확인 단추 ",

부모 폴더가 다음 자식로드를 감지하도록하려면 즉 리디렉션 후에로드를 검색하는 것입니다.

새로운 onload 이벤트 인 "주석 처리 된 줄"을 제거한 다음 시도했지만 부모 창이 첫 번째 자식로드 만 감지합니다.

부모가
부모가 자식 부하
부모가 아이에게
부모를 리디렉션 감지 아이가 다시 아이 부하
을 감지 열립니다처럼



그래서 흐름은 가야한다. . 등등

- 동일한 도메인과 프로토콜을 공유하는 두 페이지를 소유하고 있습니다.
아니요. 하위 창에서 실행해야합니다. 즉, 하위 창이로드를 확인하고 부모 창으로 데이터를 전달할 수 없습니다.

+1

+1 도메인 이름! – ShrekOverflow

답변

0

자녀가 탐색하지 못하게 한 후에 다시 바인딩 했습니까?

<script type='text/javascript'> 

    var childPage = window.open('http://www.example.com'); 

    childPage.addEventListener('load', LoadAndGo, true); 

    function LoadAndGo() 
    { 
     if(confirm("Press a button") == true) 
     { 
      childPage.top.location.href = "http://www.example.com"; 

      // Re-bind 
      childPage.addEventListener('load', LoadAndGo, true); 
     } 
    } 

</script> 
+0

아니요, 이전과 같은 문제입니다. 부모가 첫 번째로드를 감지했으나 리디렉션 이후의로드는 감지하지 않았습니다. –