2010-11-22 2 views
3

좋아요, 이야기는 오래 지속되지만 문제의 배경이 될 수 있기를 바랍니다.누구나 아이 프레임에서 Jquery 플러그인 bPopup에 의해 생성 된 팝업을 닫을 수 있습니까?

저는 ASP.NET을 사용하여 포털의 등록 섹션을 개발하고 있습니다. , here의 bPopup을 사용하여 호출 페이지 (상위 페이지)의 iframe에 등록 페이지를로드하기로 결정했습니다. 이제 성공적인 등록 후 iframe을 닫을 수있는 방법이 필요합니다 (iframe에 중첩 된) 등록 페이지의 코드 숨김에서부터 이렇게 할 수있는 부모로부터 Javascript 함수를 시도했습니다. 여기 iframe을 닫는 함수가 있습니다. 플러그인에 의해 생성 :

function bPopup_close() { 
     $(".bClose").closePopup(); 
    return false; 
} 

을 여기에 iframe을에서 뒤에있는 코드이다 (함수가 제출에 호출됩니다) :

ClientScript.RegisterOnSubmitStatement 
     (GetType(), "Javascript", "javascript: window.opener.bPopup_close();"); 

나는 팝업을 닫을 수 없습니다. 흥미롭게도 Firebug는 제출 버튼을 클릭 한 후 window.opener가 null이라는 사실을 알려주었습니다. 부모님이 실제로 문을 닫았다는 뜻입니까? 어쨌든 팝업창이 여전히 나타났습니다 ...

여러분은 비슷한 것을 통찰 해 주시겠습니까? 이다) (

ClientScript.RegisterStartupScript (GetType(), "blah", "< script type=\"text/javascript\">bclose(); < /script> ", false);

및 코드 bclose :

답변

11

나는 반나절 후, 나는 마침내 작업을 얻었다 :)

@fred: Glad you like it. Are you using the newest version of bPopup?

Solution: Create a function on the page which opens the popup:

function closeBPopup() { $(selector).bPopup().close() }

Then you can trigger it inside your iframe whenever you are done doing your stuff with:

parent.closeBPopup();

+0

: ClientScript.RegisterOnSubmitStatement 을 (GETT ype(), "Javascript", "javascript : parent.bPopup_close();"); 오류가 발생했습니다 : parent.bPopup_close가 함수가 아닙니다. javascript : parent.bPopup_close(); ..... 한숨 ... 어디서 잘못 됐습니까? – fred

3

그 dinbror 이미 자신의 페이지에 당신을 대답 볼 수 있습니다 : 나는 코드 숨김에서 자바 스크립트라는

function bclose() { 
     parent.$("#popup").bPopup().close(); 
     return false; 
    }