'modal'에 해당되는 글 1건

  1. 2011.04.25 ModalDialog 사용 시의 주의점
JavaScript2011. 4. 25. 17:42

ModalDialog 사용 시의 주의점

일반 팝업창이 아래와 같다면
szGroupUserSelectionURL = "javascript:popup( '" + szGroupUserSelectionURL + "', 'SelectOwnerURL', '570', '550', 'NO', 'NO');";
모달창은
szGroupUserSelectionURL = "javascript:window.showModalDialog('" + szGroupUserSelectionURL + "', self ,'dialogWidth:580px;dialogHeight:580px;scroll:0;help:0;status:0');";
이렇게 window.showModalDialog로 뛰워주면 됩니다.
 
형식은 팝업창과 거의 유사하지만 유의해야 할 점이 있습니다.
 
1. 스크립트 호출문제
모달창에서는  href="javascript:스크립트명();" 이런식으로 호출해서 쓰면 브라우저에 스크립트명이 뜨고 원하는 액션이 일어나지 않습니다.
그래서 모달창으로 뜨는 창에서 스크립트를 호출할시에는 href="#" onclick="스크립트명();" 이런식으로 쓰셔야 합니다.
 
2. 부모창 호출문제
보통 팝업창에서는 opener. 해서 쓰면 parent창이 응답을 하지만,
모달창에서는 parent를 부를 경우, child창에서는 응답하지 않습니다.
이럴땐 dialogArguments를 이용합니다. 그래서 소스를 그대로 쓰실려면
var opener = window.dialogArguments; 이렇게 선언해서 opener를 쓰시면 되겠습니다.

3. Session 전달문제
팝업창(window.open)에서는 팝업창(window.open)으로 전달 가능하고,
모달창(showModalDialog)은 모달창(showModalDialog)으로 전달 가능합니다. ("<%=Session.SessionID%>"로 확인)
showModalDialog에서 window.open하면, 새로운 창으로 인식해서 session을 공유하지 못합니다.

'JavaScript' 카테고리의 다른 글

브라우저의 각종 크기  (0) 2011.12.02
Posted by iWithJoy