오늘은 프로젝트에서 팝업 자식 창을 사용했는데, 이를 JavaScript로 구현하는 두 가지 방법을 생각해 보았는데, 하나는 window.showModalDialog() 메서드입니다. 팝업창의 경우 자식창이 닫혀 있어야만 부모창이 활성화되며, 매개변수와 반환값을 전달할 수 있다. 단지 사용법을 다시 검토하고 그 과정에서 발생한 문제를 기록하고 싶을 뿐입니다.
기본 소개:
showModalDialog()(IE 4에서 지원)
showModelessDialog()(IE 5에서 지원)
window.showModalDialog() 메서드는 HTML 콘텐츠를 표시하는 모달 대화 상자를 만드는 데 사용됩니다.
window.showModelessDialog() 메서드는 HTML 콘텐츠를 표시하는 비모달 대화 상자를 만드는 데 사용됩니다.
사용방법:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures],"");
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures],"");
매개변수 설명:
sURL:
필수 매개변수, 유형: 문자열. 대화 상자에 표시할 문서의 URL을 지정하는 데 사용됩니다.
v인수:
선택적 매개변수, 유형: 변형. 대화 상자에 매개변수를 전달하는 데 사용됩니다. 배열 등을 포함하여 전달되는 매개변수 유형은 제한되지 않습니다. 대화 상자는 window.dialogArguments를 통해 전달된 매개변수를 가져옵니다.
특징:
선택적 매개변수, 유형: 문자열. 대화 상자의 모양과 기타 정보를 설명하는 데 사용되며 다음 중 하나 이상을 세미콜론 ";"으로 구분하여 사용할 수 있습니다.
1.dialogHeight: 대화 상자 높이, 100px 이상. IE4의 대화 상자 높이 및 대화 상자 너비의 기본 단위는 em이지만 IE5에서는 편의상 모달 대화 상자를 정의할 때 단위를 px로 사용합니다. .
2.dialogWidth: 대화상자 너비.
3.dialogLeft: 화면 왼쪽으로부터의 거리입니다.
4.dialogTop: 화면으로부터의 거리입니다.
5.center: {yes | no | 1 | 0}: 창이 중앙에 있는지 여부, 기본값은 yes이지만 높이와 너비는 계속 지정할 수 있습니다.
6.help: {yes | no | 0}: 도움말 버튼 표시 여부, 기본값은 yes입니다.
7.ressible: {예 | 아니오 | 0} [IE5+]: 크기를 조정할 수 있는지 여부입니다. 기본값은 아니오입니다.
8.status: {yes | no | 0} [IE5]: 상태 표시줄을 표시할지 여부입니다. 기본값은 yes[Modal] 또는 no[Modal]입니다.
9.scroll:{ yes | no | 0 | on off }: 대화 상자에 스크롤 막대가 표시되는지 여부를 나타냅니다. 기본값은 예입니다.
다음 속성은 HTA에서 사용되며 일반적으로 일반 웹 페이지에서는 사용되지 않습니다.
10.dialogHide: { yes | no | 1 | 0 | off }: 인쇄 또는 인쇄 미리보기 중에 대화 상자를 숨길지 여부입니다. 기본값은 아니오입니다.
11. edge: { sunken | raise }: 대화 상자의 테두리 스타일을 지정합니다. 기본값은 증가합니다.
12.unadorned:{ 예 | 아니요 | 0 | 끄기 }: 기본값은 아니요입니다.
매개변수 전달:
1. 매개변수를 대화 상자에 전달하기 위해 vArguments를 통해 전달됩니다. 유형에는 제한이 없습니다. 문자열 유형의 경우 최대 길이는 4096자입니다. 객체도 전달할 수 있습니다.
2. window.returnValue를 통해 대화상자를 여는 창에 정보를 반환할 수 있으며, 물론 객체일 수도 있습니다.