2011-01-20 5 views
1

jquery-ui-dialog를 사용하고 잘 작동하는 이전에 빌드 된 페이지가 거의 없습니다. 이제 내 요구 사항은 iframe이있는 페이지를 만드는 것입니다. 이 iframe은 이전에 생성 된 페이지를 표시하는 데 사용됩니다. 이 경우 iframe의 대화 상자는 부모 문서가 아닌 iframe 안에 표시됩니다. 대화 상자가 최소한으로 변경된 iframe이 포함 된 부모 문서 인 위에 표시되게하려면 어떻게해야합니까?부모 문서의 iframe에서 jquery-ui-dialog

미리 감사드립니다.

+0

http://stackoverflow.com/questions/5967904/how-to-popup-a-dialog-in-another-frame-using-jquery-ui – Mhmd

답변

1

페이지가 동일한 도메인에있는 경우 iframe에서 상위 문서의 함수를 호출하여 대화 상자를 표시 할 수 있습니다. 예를 들어

... 제공된 텍스트를 사용하여 UI 다이얼로그를 열어 상위의 함수로

parent.ShowDialog("Hello World"); 

.

+0

부모 셀렉터가 HTMLDocument 개체를 반환 할 것인지 확실하지 않음 – crowicked

+0

보낸 사람 호출하는 내 iframe 문서 parent.showDialog ("# dialogId"); 부모 페이지 있음 function showDialog (dialogId) { $ (dialogId) .dialog ("open"); }; 하지만 작동하지 않거나 오류가 표시됩니다. – amit

+0

'부모가 없으면 호출하려고 시도 했습니까?' 부품? 어쨌든 내가 잘못하지 않으면이 방법으로 호출하는 올바른 구문은 다음과 같아야합니다. $ ("iframe"). parent(). showDialog ('id'); – crowicked

1

흠, iframe은 항상 문제를 일으키는 것처럼 보입니다 ... 완전히 피하는 것이 가장 좋습니다 (나는 이것이 아마도 당신의 선택이 아닌지 이해합니다).

문제는 브라우저가 i- 프레임을 별도의 웹 페이지로 해석한다는 것입니다. 확실하지 않지만 i 프레임 외부에서 대화 상자 요소 (HTML 태그)를 정의하고 내부에서 이벤트를 호출 해 볼 수 있습니다. 같은 뭔가 :

<html> 
<div id="callme" style="display:none;"> 
... 
your dialogstuff here 
... 
</div> 

<iframe> 
<!-- function that calls the dialog event here --> 
</iframe> 
</html> 

그것은 샷 가치, 그런 것 같아요.

+0

거기 iframe 문서에서 내 대화 물건을 유지할 수있는 방법입니다 ... 다른 현명한 다른 페이지를 부모 페이지로 이동해야합니다. – amit

관련 문제