2011-10-04 6 views
2

팬시 박스 내에서 IFRAMES를 통해 서버의 콘텐츠를 표시하기 위해 팬시 박스를 사용하는 애플리케이션이 있습니다. 따라서 IFRAME을 사용하여 현재 fancybox를 호출하고 서버에서 데이터를 전송하거나 변경 한 후 스크립트를 실행하려면 새 fancybox를 닫고 내부에 새 url, 크기 및 iframe이있는 다른 fancybox를여십시오.fancybox를 닫고 새 기능을 사용하여 기능을 엽니 다.

여러 Google 검색 사이트를 통해 여러 가지 코드를 시도했지만 아무도 내 앱에서 작동하지 않았습니다.

도움을 주시면 대단히 감사하겠습니다.

UPDATE : 대답 여기 찾았 http://www.amitpatil.me/fancybox-runtime-resizing-of-iframe/

답변

1

전화 $.fancybox.close 또는 (iframe을에서) parent.$.fancybox.close(),

$.fancybox({    
'transitionIn' : 'none', 
'transitionOut' : 'none', 
'width'  : 680, 
'height'  : 495, 
'href'  : 'http://example.com/new' 
}); 

을하거나 fancybox 크기를 조정 : 새로운 일을 열 $ .fancybox.resize(). 이 크기 조정에 도움이 될 것입니다 : How do you resize Fancybox at runtime?

[업데이트]

내가 알고있는 것처럼

: 당신은해서, A.php이 fancybox를 열 수 있습니다. A.php에는 아마도 양식이 있고, 양식은 B.php에 제출됩니다. 이것이 상황이라면, parent. $. fancybox.function_name에 의해 B.php의 document.ready에서 fancybox의 크기를 조정하거나 열기 만하면됩니다.

+0

빠른 답변에 감사드립니다. 처음에는 크기를 변경하려고했는데 왜 그 링크를 발견하지 못했는지 모릅니다. – drummer392

+0

당신을 도울 수있어서 기쁩니다! 답이 문제를 해결하는 데 도움이 되었다면 답을 수락하는 것을 고려하십시오. –

+0

죄송 합니다만, PHP 작업이 호출되고 모든 것이 데이터베이스로 전송 된 후,이 작업을 직접 수행하려면 parent. $ fancybox.close()를 호출하여 fancybox를 닫은 다음 다른 코드를 상위 페이지를 열면 자동으로 새 fancybox가 열립니다. – drummer392

0

당신이 시도했는지 모르겠지만 나를 위해 작동하는 것 같다 :

parent.MyFunction(); // call this from the iframed url 

function MyFunction(){ // have this in your parent page 
    // call your fancybox close function here 
} 
0

@TamasPap에서 제안한 방법은 저에게 효과적이지 않았습니다. 그리고 마침내 나는 작동하는 방법을 찾을 때까지 연구하고 실험하는 데 많은 시간을 투자 했으므로 공유하고 싶었습니다.

parent.$.fancybox.open({ href : 'iframe2.html', type: 'iframe'}); 
parent.$.fancybox.close({ href : 'iframe1.html'}); 

당신이 입력 한 후 모든 옵션, 헬퍼 또는 CSS를 지정할 수 있습니다 '은 iframe'를 같은 방식으로 당신이 할 기능을 만들 때.

관련 문제