2010-06-11 6 views
0

사용자가 colorbox 모달 창을 통해 안전하게 로그온 할 수있는 mvc 페이지에서 작업하고 있습니다. 모달은 다음과 같이 레이아웃됩니다.jquery 크로스 프로토콜 오류

<html> 
    <body> 
    <div id="overlay" style="display: block;" class="overlay"> <div> 
    <div id="colorbox" style="display: block;"> 
     <iframe id="logonIFRAME"> 
      logon form is in this ssl iframe 
     </iframe> 
    </div> 
    <div id="restofpage"> </div> 
    </body> 
</html> 

기본 레이아웃입니다.

iframe 양식이 인증되면 parent. $ fn.colorbox.close()가 호출되어 모달을 닫고 부모 페이지가 다시로드됩니다.

이제 문제는 colorbox.close 스크립트가 상위 페이지 (iframe이 아님)에 있으므로 다른 프로토콜 (https 및 http)으로 인해 iframe에서 호출 할 수 없습니다.

그래서 어떻게 스크립트 교차 프로토콜 (나는 당신이 할 수있는 것 같아)을 호출하거나 iframe에서 colorbox div의 표시 속성을 none으로 설정하고 오버레이를 숨길 수 있습니다. 이것은 모달을 숨길 수 있지만 iframe의 코드는 부모 페이지 html과 대화 할 수 있습니까? 만약 내가 그것을 사용할 수 :

$ ('# colorbox'). attr ('style', 'display : none;');

하지만 jquery가 작동하지 않습니다.

누구에게 최선의 진행 방법에 대한 아이디어가 있습니까?

답변

0

그것은 일종의 핵이라고 생각합니다 ... 정상적인 페이지로 리디렉션하면 성공할 수 있습니다. http를 사용한다는 의미이며, 자바 스크립트를 추가하여 부모 창을 호출하는 코드를 작성한다는 의미입니다.

나는 이것이 나를 위해 일하는 것으로 나타났습니다. 그러나 그것은 순수한 해결책이 아니지만 일시적인 해결책 일뿐입니다.

이므 란

관련 문제