2011-12-13 4 views
0

자식 창에서 다른 도메인으로 이동하거나 닫히기 위해 따개 창을 기다려야합니다. 현재 이벤트를 사용하고 있지는 않지만 오프너 창이 null이거나 나 (도메인 간 제한으로 인해) 더 이상 위치에 액세스 할 수 없을 때까지 간격을 사용하여 오프너 창을 확인합니다. 대신에 오프너 창에서 이벤트를 사용하려고합니다.오프너 창의로드 이벤트를 구독 할 수 있습니까?

window.open("wait.html", "_popup", ""); 

이 내가 wait.html에서 이벤트에 가입하려고 방법은 다음과 같습니다 :

window.opener.addEventListener('load', waiting, false); 
function waiting() { 
    console.log("Waiting..."); 
} 

그러나 이벤트 처리기가 호출되지

내가 자식 창을 열 방법입니다 . Chrome에서 작업 중이므로 addEventListener가 올바르게 작동해야합니까?

var AWindow; 
function openChild() 
{ 
    AWindow = window.open("TestCallBack.html"); 
}; 

하고 부모 윈도우 이벤트 핸들러 :

var myChildSays = AWindow.childCallBack('from parent'); 

와 자식 창에서 함수 :이 작업을 수행하는

답변

2

문서가 모든 자바 스크립트 및 이벤트를로드하면 보안상의 이유로 이 주변을 피해서는 안됩니다.

유사한 동작을 달성하는 한 가지 방법은 언로드 이벤트를 구독하는 것입니다.

+0

하지만 첫 번째 언로드가 발생하면 언로드 핸들러도 지워지 죠? –

+0

예, 사용자가 제어 페이지를 남겨두면 더 이상 사용자를 제어 할 수 없습니다. –

1

방법 중 하나는 아이의 함수를 호출하는 것입니다

function childCallBack(passstuff) 
{ 
    return "CHILD GOT:(" + passstuff + ")"; 
}; 
+0

기술적으로, 하위 창에서 상위 창 이벤트에 가입하지 않습니다. 그게 가능하지 않니? –

관련 문제