2009-12-11 2 views
-1

팝업창에서 아래와 같은 것을 시도했지만 작동하지 않습니다.

3 번 라인에서 수정을 제안하십시오.

function closePopup() { 
    window.opener.history.go(0); 
    $(opener.document).ready(function(){ 
     window.opener.some_function(some_variable); 
     self.close(); 
    }); 
} 
+1

음, 미안하지만, 아이가 알 수있는 방법은 부모가 태어 났을 때? – YOU

+0

@ S.Mark가 태어나지 않았습니다. 부모 기능에 액세스 할 수있는 방법이 있다면 reborn.if가 있습니다. 그러면 해당 onload 이벤트가 발생하지 않습니다. 또한 확실하지 않습니다. 그게 내가 왜 여기에 올렸는지 ... – Kumar

+0

: D 나는 본다. 그러나 여전히, 부모가 다시 태어나면 아이도 사라질 것인가, 안 그래? 내가''$ (opener.document) .ready "'라고봤을 때, 당신이 세상에서 그것을 시도한 첫 번째 사람인 것처럼 보입니다. 불쾌감은 없지만 많은 jQuery 괴짜들이 있습니다. 다른 사람의 대답을 기다릴 수 있습니다. – YOU

답변

2

두 가지 : 당신은이 같은 원점 (동일한 호스트, 포트 및 프로토콜)의 경우에만 다른 윈도우의 Window#document에 액세스 할 수 있습니다

  1. .
  2. 위의 경우를 만족하는 경우에도 페이지로 이동 한 직후에 document 개체가 생성되지 않습니다. history.go()은 동기 작업이 아닙니다.

대신 Window#load 이벤트를 시도 했습니까? 이 옵션을 밖으로

+0

답장 보내 주셔서 감사합니다. 부모 창에 대한로드 이벤트 (팝업 창에서 사용할 수있는 "오프너"사용)가 필요합니다. "window.load"현재 창에 대해 작동합니다 생각합니다. – Kumar

+0

나는'opener.load'를 의미했습니다. 오프너도 '창'입니다. 어쩌면 내가 창문을 이용해야 할거야. –

+0

나는 시도하고 실패했다. 이제 부모가 다시로드 할 때까지 기다리는 데 지연을 사용하고있다. – Kumar

관련 문제